初始提交

This commit is contained in:
2026-03-14 15:37:24 +08:00
commit 454459b09f
4 changed files with 42 additions and 0 deletions

3
.env.example Normal file
View File

@@ -0,0 +1,3 @@
TRAEFIK_DOMAIN=ingress.docker.localhost
TRAEFIK_USERNAME=traefik
TRAEFIK_PASSWORD=$2a$12$h/QqemPee.5YkVGlLWb/cO4urRmM7ANL4rsie12Kl7Ki4np8LHQa6

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.env

1
README Normal file
View File

@@ -0,0 +1 @@
这里是本机 http 网关容器的配置目录,使用了 traefik 作为网关组件,可以自动化证书申请与更新

37
docker-compose.yaml Normal file
View File

@@ -0,0 +1,37 @@
name: ingress
services:
traefik:
image: traefik:latest
restart: unless-stopped
networks:
- default
- expose
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.network=expose"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.websecure.http.tls=true"
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
- "--certificatesresolvers.letsencrypt.acme.email=acme@lanhuip.com"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
- "--api.dashboard=true"
labels:
- "traefik.enable=true"
- "traefik.http.routers.dashboard.rule=Host(`$TRAEFIK_DOMAIN`)"
- "traefik.http.routers.dashboard.service=api@internal"
- "traefik.http.routers.dashboard.middlewares=basicauth"
- "traefik.http.middlewares.basicauth.basicauth.users=$TRAEFIK_USERNAME:$TRAEFIK_PASSWORD"
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
expose:
external: true