Detailed README
This commit is contained in:
parent
2cb94a3925
commit
e3d94aba08
38
.gitignore
vendored
38
.gitignore
vendored
@ -2,3 +2,41 @@
|
|||||||
dashboard_authfile
|
dashboard_authfile
|
||||||
access.log
|
access.log
|
||||||
certs/
|
certs/
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/macos,
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,
|
||||||
|
|
||||||
|
#!! ERROR: is undefined. Use list command to see defined gitignore types !!#
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
### macOS Patch ###
|
||||||
|
# iCloud generated files
|
||||||
|
*.icloud
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/macos,
|
||||||
|
41
README.md
41
README.md
@ -0,0 +1,41 @@
|
|||||||
|
# Gbanyan's Exposed Self-hosted Service Traefik Configuration
|
||||||
|
|
||||||
|
## Preface
|
||||||
|
|
||||||
|
Principle:
|
||||||
|
|
||||||
|
* Low cost to maintain and interfere
|
||||||
|
* Privacy info hidden design
|
||||||
|
* Flexibility and Extensible
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
Traefik is an open-source Edge Router that makes publishing your services a fun experience. It provides powerful features like automatic HTTPS, load balancing, and more.
|
||||||
|
|
||||||
|
In this project, Traefik provides:
|
||||||
|
|
||||||
|
* Automatic SSL/TLS certificates from Let's Encrypt when each new site is added through docker container label or dynamic.yml. (Cloudflare API)
|
||||||
|
* Docker Container Label Configuration (Docker Provider)
|
||||||
|
* Reverse Proxy with Dynamic Routing, and flexibility for manully add local service
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Overview
|
||||||
|
|
||||||
|
The configuration is split into several files:
|
||||||
|
|
||||||
|
- `docker-compose.yml`: Defines the services, networks, and volumes.
|
||||||
|
- `traefik.yml`: Main Traefik configuration file.
|
||||||
|
- `dynamic.yml`: Directory containing dynamic configuration for different services.
|
||||||
|
- `.env`: For DNS Challenge API, in thie project Cloudflare is adopted
|
||||||
|
- `dashboare_authfile`: For Traefik dashboard basic auth, use the command `htpasswd -nb user pass` to generate
|
||||||
|
|
||||||
|
Docker Container Label Example, please see other self-hosted docker-compose.yaml
|
||||||
|
|
||||||
|
## Future To-do
|
||||||
|
|
||||||
|
* Already contain the cloudflarewarp traefik plugin to pass the real ip behind the Cloudflare CDN network, But still don't know to correctly apply it.
|
||||||
|
* Crowdsec or fail2ban integration
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user