Files
infrastructure/ansible/roles/gitea/templates/docker-compose.yml

55 lines
1.5 KiB
YAML

version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
default:
external: false
services:
gitea:
container_name: gitea
image: gitea/gitea:latest
restart: unless-stopped
depends_on:
- db
networks:
- traefik
- default
ports:
- "127.0.0.1:2222:2222"
environment:
- "USER_UID={{ service_user.uid }}"
- "USER_GID={{ service_user.group }}"
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
- GITEA__server__START_SSH_SERVER=true
- GITEA__server__BUILTIN_SSH_SERVER_USER=git
- GITEA__server__SSH_LISTEN_PORT=2222
- "GITEA__server__DOMAIN=git.{{ personal_domain }}"
- "GITEA__server__ROOT_URL=https://git.{{ personal_domain }}"
volumes:
- "{{ data_dir }}/gitea:/data"
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /home/git/.ssh:/data/git/.ssh # For SSH passthrough
labels:
traefik.enable: true
traefik.http.routers.gitea.rule: "Host(`git.{{ personal_domain }}`)"
traefik.http.services.gitea.loadbalancer.server.port: 3000
db:
image: postgres:14-alpine
restart: unless-stopped
networks:
- default
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
volumes:
- "{{ data_dir }}/postgres/gitea:/var/lib/postgresql/data"