gitea/templates/compose.yml.j2
2026-10-09 23:13:44 +02:00

57 lines
1.6 KiB
Django/Jinja

services:
gitea:
image: docker.gitea.com/gitea:{{ gitea.version }}
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD={{ gitea.db_password }}
- SSH_INCLUDE_FILE=/etc/ssh/sshd_config.d/*.conf
restart: always
networks:
- internal
- proxy
volumes:
- {{ gitea.data_path }}:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# https://github.com/go-gitea/gitea/issues/34179
- ./config/gitea/ssh:/etc/ssh/sshd_config.d
depends_on:
- db
labels:
traefik.enable: true
traefik.http.routers.gitea.rule: "Host(`{{ gitea.url }}`)"
traefik.http.routers.gitea.tls: true
traefik.http.routers.gitea.tls.certResolver: hetzner
traefik.http.services.gitea-https.loadbalancer.server.port: 3000
{% if gitea.enable_ssh -%}
traefik.tcp.routers.gitea.rule: "HostSNI(`*`)"
traefik.tcp.routers.gitea.entrypoints: public_ssh
traefik.tcp.services.gitea-ssh.loadbalancer.server.port: 22
{% endif %}
db:
image: docker.io/library/postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD={{ gitea.db_password }}
- POSTGRES_DB=gitea
networks:
- internal
volumes:
- ./data/db:/var/lib/postgresql/data
networks:
internal:
driver: bridge
internal: true
proxy:
name: traefik_exposed
external: true