57 lines
1.6 KiB
Django/Jinja
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
|