All checks were successful
lint-and-test-charts / lint-test (pull_request) Successful in 16s
89 lines
3.5 KiB
YAML
89 lines
3.5 KiB
YAML
---
|
|
services:
|
|
tailscale-traefik:
|
|
image: ghcr.io/tailscale/tailscale:v1.84.0
|
|
container_name: tailscale-traefik
|
|
cap_add:
|
|
- net_admin
|
|
- sys_module
|
|
environment:
|
|
- TS_STATE_DIR=/var/lib/tailscale
|
|
- TS_ENABLE_METRICS=true
|
|
- TS_HOSTNAME=traefik-ps10rp
|
|
# - TS_SERVE_CONFIG=/config/serve.json
|
|
network_mode: service:traefik
|
|
restart: always
|
|
volumes:
|
|
- tailscale:/var/lib/tailscale
|
|
- ${PWD}/serve.json:/config/serve.json
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
|
|
traefik:
|
|
image: ghcr.io/traefik/traefik:v3.4.0
|
|
container_name: traefik
|
|
command:
|
|
- "--global.checkNewVersion=false"
|
|
- "--global.sendAnonymousUsage=false"
|
|
- "--api=true"
|
|
- "--api.insecure=false"
|
|
- "--api.dashboard=true"
|
|
- "--log.level=INFO"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entryPoints.web.address=:80"
|
|
- "--entrypoints.web.http.redirections.entryPoint.to=web-secure"
|
|
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
|
|
- "--entryPoints.web-secure.address=:443"
|
|
- "--entryPoints.web-secure.http.tls.options=default"
|
|
- "--entryPoints.web-secure.http.tls.certResolver=cloudflare"
|
|
- "--entryPoints.web-secure.http.tls.domains[0].main=*.lebens-home.net"
|
|
- "--entryPoints.web-secure.http.tls.domains[0].sans[0]=lebens-home.net"
|
|
- "--entryPoints.traefik.address=:8080"
|
|
- "--entryPoints.metrics.address=:9100"
|
|
- "--certificatesresolvers.cloudflare.acme.dnschallenge=true"
|
|
- "--certificatesresolvers.cloudflare.acme.dnschallenge.provider=cloudflare"
|
|
- "--certificatesresolvers.cloudflare.acme.dnschallenge.delaybeforecheck=10"
|
|
- "--certificatesresolvers.cloudflare.acme.dnschallenge.resolvers=1.1.1.1:53"
|
|
- "--certificatesresolvers.cloudflare.acme.email=alexanderlebens@gmail.com"
|
|
- "--certificatesresolvers.cloudflare.acme.storage=acme.json"
|
|
- "--metrics.prometheus=true"
|
|
- "--metrics.prometheus.buckets=0.1,0.3,1.2,5.0"
|
|
- "--metrics.prometheus.addEntryPointsLabels=true"
|
|
- "--metrics.prometheus.addRoutersLabels=true"
|
|
- "--metrics.prometheus.addServicesLabels=true"
|
|
- "--metrics.prometheus.entryPoint=metrics"
|
|
- "--metrics.prometheus.manualRouting=true"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
labels:
|
|
traefik.enable: true
|
|
traefik.docker.network: internal
|
|
traefik.http.routers.dashboard.entrypoints: web-secure
|
|
traefik.http.routers.dashboard.rule: (Host(`traefik-ps10rp.lebens-home.net`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard/`)))
|
|
traefik.http.routers.dashboard.service: api@internal
|
|
networks:
|
|
internal: null
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
privileged: true
|
|
restart: always
|
|
volumes:
|
|
- letsencrypt:/letsencrypt
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
networks:
|
|
internal:
|
|
name: internal
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.24.0.0/16
|
|
|
|
volumes:
|
|
tailscale:
|
|
letsencrypt:
|