Files
linone-infra/roles/docker/templates/docker-compose.yml
2025-10-10 21:29:02 +02:00

46 lines
1.6 KiB
YAML

# ufw allow 443
# uff allow 222 (ssh)
version: "3"
services:
server:
image: gitea/gitea:1.24
container_name: gitea
environment:
- USER_UID=1001 # Gitea
restart: always
volumes:
- "{{ docker.gitea.volumes_path }}:/data"
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "222:22"
labels:
- "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`{{ docker.gitea.url }}`)"
- "traefik.http.routers.gitea.tls.certresolver=myresolver"
- "traefik.http.routers.gitea.tls=true"
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
proxy:
image: traefik:v2.8
restart: always
command:
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.web.http.redirections.entrypoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
# Uncomment this line to test: https://doc.traefik.io/traefik/user-guides/docker-compose/acme-tls/
# - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myresolver.acme.email={{ docker.traefik.email }}"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "{{ docker.traefik.volumes_path }}:/letsencrypt"