Files
homelab/servers/production/devops/compose.yaml

98 lines
2.5 KiB
YAML

services:
gitea-server:
image: docker.gitea.com/gitea:1.24.7
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea-db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
- GITEA__SERVICE__DISABLE_REGISTRATION=true
- GITEA__server__SSH_PORT=2222
- GITEA__server__SSH_LISTEN_PORT=22
- GITEA__server__SSH_DOMAIN=git.hashdot.co
- GITEA__server__DOMAIN=git.hashdot.co
- GITEA__storage__STORAGE_TYPE=minio
- GITEA__storage__MINIO_ENDPOINT=gitea-minio:9000
- GITEA__storage__MINIO_ACCESS_KEY_ID=gitea
- GITEA__storage__MINIO_SECRET_ACCESS_KEY=gitea_minio_secret
- GITEA__storage__MINIO_BUCKET=gitea
- GITEA__storage__MINIO_USE_SSL=false
restart: always
networks:
- gitea
volumes:
- gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
depends_on:
gitea-db:
condition: service_started
gitea-minio:
condition: service_healthy
gitea-db:
image: docker.io/library/postgres:14
container_name: gitea-db
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- gitea-database:/var/lib/postgresql/data
gitea-runner-01:
image: gitea/act_runner:latest-dind
privileged: true
container_name: gitea-runner-01
environment:
TINI_SUBREAPER: 1
DOCKER_TLS_CERTDIR: /certs
GITEA_INSTANCE_URL: "http://10.0.0.175:3000"
GITEA_RUNNER_REGISTRATION_TOKEN: ""
GITEA_RUNNER_NAME: "gitops-runner-01"
networks:
- gitea
volumes:
- gitea-runner-data:/data:rw
- gitea-runner-certs:/certs
gitea-minio:
image: quay.io/minio/minio:latest
container_name: gitea-minio
restart: always
environment:
- MINIO_ROOT_USER=gitea
- MINIO_ROOT_PASSWORD=gitea_minio_secret
command: server /data --console-address ":9001"
networks:
- gitea
volumes:
- minio-data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 5s
timeout: 5s
retries: 5
networks:
gitea:
external: false
volumes:
gitea-runner-certs:
gitea-runner-data:
gitea-database:
gitea-data:
minio-data: