Detailed README

This commit is contained in:
gbanyan 2025-01-30 22:25:18 +08:00
parent 2cb94a3925
commit e3d94aba08
2 changed files with 79 additions and 0 deletions

38
.gitignore vendored
View File

@ -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,

View File

@ -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