Merakit-Deploy/gitea/docker-compose.yml

58 lines
1.6 KiB
YAML

services:
postgres:
image: postgres:${POSTGRES_VERSION}
container_name: ${SUBDOMAIN}_db
restart: unless-stopped
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- db_data:/var/lib/postgresql/data
networks:
- internal
gitea:
image: gitea/gitea:${GITEA_VERSION}
container_name: ${SUBDOMAIN}_gitea
restart: unless-stopped
depends_on:
- postgres
environment:
USER_UID: 1000
USER_GID: 1000
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: postgres:5432
GITEA__database__NAME: ${DB_NAME}
GITEA__database__USER: ${DB_USER}
GITEA__database__PASSWD: ${DB_PASSWORD}
GITEA__server__DOMAIN: ${URL}
GITEA__server__SSH_DOMAIN: ${URL}
GITEA__server__ROOT_URL: https://${URL}/
GITEA__security__INSTALL_LOCK: true
GITEA__service__DISABLE_REGISTRATION: ${DISABLE_REGISTRATION}
volumes:
- gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.${SUBDOMAIN}.rule=Host(`${URL}`)"
- "traefik.http.routers.${SUBDOMAIN}.entrypoints=https"
- "traefik.http.routers.${SUBDOMAIN}.tls=true"
- "traefik.http.routers.${SUBDOMAIN}.tls.certresolver=letsencrypt"
- "traefik.http.services.${SUBDOMAIN}.loadbalancer.server.port=3000"
networks:
- proxy
- internal
volumes:
db_data:
gitea_data:
networks:
proxy:
external: true
internal:
internal: true