cdkinfracode/forgejo/docker-compose.yml
2026-08-09 07:28:02 +05:30

46 lines
1.7 KiB
YAML

services:
forgejo:
image: codeberg.org/forgejo/forgejo:9
container_name: forgejo
restart: always
environment:
# General Server Settings
- FORGEJO__server__RUN_MODE=prod
- FORGEJO__server__ROOT_URL=${FORGEJO_ROOT_URL:-http://16.113.57.127:3000/}
- FORGEJO__server__HTTP_PORT=3000
- FORGEJO__server__DOMAIN=16.113.57.127
# Database Configuration (MySQL)
- FORGEJO__database__DB_TYPE=mysql
- FORGEJO__database__HOST=${FORGEJO_DB_HOST}
- FORGEJO__database__NAME=${FORGEJO_DB_NAME}
- FORGEJO__database__USER=${FORGEJO_DB_USER}
- FORGEJO__database__PASSWD=${FORGEJO_DB_PASSWORD}
- FORGEJO__database__MAX_OPEN_CONNS=20
- FORGEJO__database__MAX_IDLE_CONNS=20
- FORGEJO__database__CONN_MAX_LIFETIME=0
# Disable installer screen since we configure via environment/app.ini
- FORGEJO__security__INSTALL_LOCK=true
# Disable public registration (prevent outside signups)
- FORGEJO__service__DISABLE_REGISTRATION=true
# S3 Object Storage Configuration (for Attachments, LFS, Packages)
- FORGEJO__storage__STORAGE_TYPE=minio
- FORGEJO__storage__MINIO_ENDPOINT=${FORGEJO_S3_ENDPOINT:-s3.amazonaws.com}
- FORGEJO__storage__MINIO_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- FORGEJO__storage__MINIO_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- FORGEJO__storage__MINIO_BUCKET=${FORGEJO_S3_BUCKET}
- FORGEJO__storage__MINIO_LOCATION=${AWS_REGION:-ap-south-2}
- FORGEJO__storage__MINIO_USE_SSL=true
ports:
# Expose Forgejo HTTP port publicly
- "3000:3000"
# Expose SSH port
- "2222:22"
volumes:
- forgejo-data:/data
volumes:
forgejo-data:
driver: local