105 lines
2.9 KiB
YAML
105 lines
2.9 KiB
YAML
services:
|
|
gitea:
|
|
container_name: gitea
|
|
pull_policy: build
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
- USER=git
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
# Core settings
|
|
- APP_NAME="DeafGain Gitea"
|
|
- RUN_MODE=prod
|
|
- WORK_PATH=/data/gitea
|
|
# Database settings
|
|
- GITEA__database__DB_TYPE=postgres
|
|
- GITEA__database__HOST=db:5432
|
|
- GITEA__database__NAME=gitea
|
|
- GITEA__database__USER=${GITEA_DB_USER}
|
|
- GITEA__database__PASSWD=${GITEA_DB_PASSWORD}
|
|
# Server settings
|
|
- GITEA__server__PROTOCOL=http
|
|
- GITEA__server__DOMAIN=gitea.sigd.net
|
|
- GITEA__server__ROOT_URL=https://gitea.sigd.net/
|
|
- GITEA__server__BEHIND_PROXY=true
|
|
- GITEA__server__HTTP_PORT=3000
|
|
# Security settings
|
|
- GITEA__security__SECRET_KEY=${GITEA_SECRET_KEY}
|
|
- GITEA__security__INTERNAL_TOKEN=${GITEA_INTERNAL_TOKEN}
|
|
# Repository settings
|
|
- GITEA__repository__ROOT=/data/gitea/repositories
|
|
- GITEA__repository__DEFAULT_PRIVATE=private
|
|
- GITEA__repository__DEFAULT_BRANCH=main
|
|
# Service settings
|
|
- GITEA__service__REQUIRE_SIGNIN_VIEW=true
|
|
# UI settings
|
|
- GITEA__ui__DEFAULT_THEME=gitea-auto
|
|
# Cache settings
|
|
- GITEA__cache__ADAPTER=memory
|
|
- GITEA__cache__INTERVAL=60
|
|
# Session settings
|
|
- GITEA__session__PROVIDER=file
|
|
- GITEA__session__PROVIDER_CONFIG=/data/gitea/sessions
|
|
- GITEA__session__COOKIE_NAME=gitea_session
|
|
- GITEA__session__COOKIE_SECURE=false
|
|
- GITEA__session__DOMAIN=gitea.sigd.net
|
|
- GITEA__service__DISABLE_REGISTRATION=true
|
|
volumes:
|
|
- /docker/gitea/data:/data
|
|
- /docker/gitea/config:/etc/gitea
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "3000:3000"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: always
|
|
networks:
|
|
- gitea_network
|
|
- caddy_network
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 2G
|
|
reservations:
|
|
memory: 512M
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 5s
|
|
|
|
db:
|
|
image: postgres:15-alpine
|
|
container_name: gitea-db
|
|
environment:
|
|
- POSTGRES_USER=${GITEA_DB_USER}
|
|
- POSTGRES_PASSWORD=${GITEA_DB_PASSWORD}
|
|
- POSTGRES_DB=gitea
|
|
volumes:
|
|
- /docker/gitea/postgres:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${GITEA_DB_USER}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: always
|
|
networks:
|
|
- gitea_network
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 1G
|
|
reservations:
|
|
memory: 256M
|
|
|
|
networks:
|
|
gitea_network:
|
|
driver: bridge
|
|
caddy_network:
|
|
external: true
|
|
|