Files
home-server-docker/project/service/gitea/gitea.yml

67 lines
2.0 KiB
YAML

services:
gitea:
extends:
file: ${TEMPLATES_PATH}
service: default
image: gitea/gitea:1.25
container_name: gitea
environment:
- APP_NAME="Gitea"
- USER=git
- RUN_MODE=prod
- DOMAIN=gitea.${PUBLIC_DOMAIN}
- SSH_DOMAIN=gitea.${PUBLIC_DOMAIN}
- HTTP_PORT=4002
- ROOT_URL=https://gitea.${PUBLIC_DOMAIN}
- SSH_PORT=2001
- SSH_LISTEN_PORT=22
# Database postgres
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=postgres
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=${GITEA_DATABASE_PASSWORD}
# Cache redis
- GITEA__cache__ENABLED=true
- GITEA__cache__ADAPTER=redis
- GITEA__cache__HOST=redis://redis:6379/0?pool_size=100&idle_timeout=180s
- GITEA__cache__ITEM_TTL=24h
volumes:
- ${SERVICE_PATH}/gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 2001:22
networks:
- ip6net
expose:
- 4002
labels:
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`gitea.${PUBLIC_DOMAIN}`)"
- "traefik.http.routers.gitea.entrypoints=https"
- "traefik.http.routers.gitea.tls=true"
- "traefik.http.routers.gitea.service=gitea-service"
- "traefik.http.services.gitea-service.loadbalancer.server.port=4002"
# Middlewares
- "traefik.http.routers.gitea.middlewares=crowdsec-bouncer@file"
gitea-runner:
extends:
file: ${TEMPLATES_PATH}
service: default
image: gitea/act_runner:0.2.13
container_name: gitea_runner
depends_on:
- gitea
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${SERVICE_PATH}/gitea/config/runner-config.yaml:/config.yaml
- ${SERVICE_PATH}/gitea/data/runner-data:/data
environment:
- CONFIG_FILE=/config.yaml
- GITEA_INSTANCE_URL=gitea
- GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_TOKEN}
- GITEA_RUNNER_NAME=gitea-runner