gc-infra/iac/ansible/roles/gitea/templates/docker-compose.yml.j2

62 lines
1.8 KiB
Django/Jinja

networks:
{{ traefik_public_net }}:
external: true
internal:
services:
server:
image: gitea/gitea:{{ gitea_version }}
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE={{ gitea_db_type }}
- GITEA__database__HOST={{ gitea_db_host }}
- GITEA__database__NAME={{ gitea_db_name }}
- GITEA__database__USER={{ gitea_db_user }}
- GITEA__database__PASSWD={{ gitea_db_password }}
- GITEA__server__DOMAIN={{ gitea_domain }}
- GITEA__server__SSH_DOMAIN={{ gitea_domain }}
- GITEA__server__SSH_PORT={{ gitea_ssh_port }}
- GITEA__server__ROOT_URL=https://{{ gitea_domain }}/
volumes:
- {{ data_dir }}/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- internal
- {{ traefik_public_net }}
ports:
- "{{ gitea_ssh_port }}:22"
deploy:
mode: replicated
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.docker.network={{ traefik_public_net }}"
- "traefik.http.routers.gitea.rule=Host(`{{ gitea_domain }}`)"
- "traefik.http.routers.gitea.entrypoints=https"
- "traefik.http.routers.gitea.tls.certresolver=main"
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
db:
image: postgres:{{ postgres_version }}
restart: always
environment:
- POSTGRES_USER={{ gitea_db_user }}
- POSTGRES_PASSWORD={{ gitea_db_password }}
- POSTGRES_DB={{ gitea_db_name }}
networks:
- internal
volumes:
- {{ data_dir }}/data/db:/var/lib/postgresql/data
command:
- "postgres"
- "-c"
- "fsync=on"
- "-c"
- "full_page_writes=on"
- "-c"
- "synchronous_commit=on"
deploy:
mode: replicated
replicas: 1