54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
services:
|
|
gitea:
|
|
image: docker.gitea.com/gitea:1.24.6-rootless
|
|
container_name: gitea
|
|
restart: always
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.gitea.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
|
|
- traefik.http.routers.gitea.tls=true
|
|
- traefik.http.routers.gitea.entrypoints=web,websecure
|
|
- traefik.http.routers.gitea.tls.certresolver=cloudflare
|
|
- traefik.http.middlewares.gitea.headers.SSLRedirect=true
|
|
- traefik.http.middlewares.gitea.headers.STSSeconds=315360000
|
|
- traefik.http.middlewares.gitea.headers.browserXSSFilter=true
|
|
- traefik.http.middlewares.gitea.headers.contentTypeNosniff=true
|
|
- traefik.http.middlewares.gitea.headers.forceSTSHeader=true
|
|
- traefik.http.middlewares.gitea.headers.SSLHost=${DOMAIN_NAME}
|
|
- traefik.http.middlewares.gitea.headers.STSIncludeSubdomains=true
|
|
- traefik.http.middlewares.gitea.headers.STSPreload=true
|
|
- traefik.http.middlewares.gitea.headers.frameDeny=true
|
|
- traefik.http.routers.gitea.middlewares=gitea@docker
|
|
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
|
# - traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)
|
|
# - traefik.tcp.routers.gitea-ssh.entrypoints=ssh
|
|
# - traefik.tcp.routers.gitea-ssh.service=gitea-ssh
|
|
# - traefik.tcp.services.gitea-ssh.loadbalancer.server.port=
|
|
# - traefik.tcp.routers.gitea-ssh.tls=false
|
|
- traefik.docker.network=mgmt
|
|
env_file:
|
|
- .env
|
|
secrets:
|
|
- DB_PASS
|
|
# - SSH_PORT
|
|
volumes:
|
|
- gitea-data:/var/lib/gitea
|
|
- ./config:/etc/gitea
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
networks:
|
|
- mgmt
|
|
- db
|
|
volumes:
|
|
gitea-data:
|
|
name: gitea-data
|
|
networks:
|
|
mgmt:
|
|
external: true
|
|
db:
|
|
external: true
|
|
secrets:
|
|
DB_PASS:
|
|
file: .secrets/DB_PASS
|
|
# SSH_PORT:
|
|
# file: .secrets/SSH_PORT |