91 lines
3.6 KiB
YAML
91 lines
3.6 KiB
YAML
networks:
|
|
gitea:
|
|
external: false
|
|
enable_ipv6: true
|
|
|
|
volumes:
|
|
server:
|
|
driver: local
|
|
|
|
services:
|
|
server:
|
|
image: codeberg.org/forgejo/forgejo:9.0.3
|
|
restart: always
|
|
container_name: forgejo
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
- FORGEJO__database__DB_TYPE=postgres
|
|
- FORGEJO__cache__ENABLED=true
|
|
- FORGEJO__cache__ADAPTER=redis
|
|
- FORGEJO__cache__HOST=redis://cache:6379/0?pool_size=100&idle_timeout=180s
|
|
- FORGEJO__indexer__REPO_INDEXER_ENABLED=false
|
|
- FORGEJO__webhook__ALLOWED_HOST_LIST="cicd.gnous.eu,build.net.enpls.org,deploy.net.enpls.org"
|
|
- FORGEJO__service__REGISTER_EMAIL_CONFIRM=true
|
|
- FORGEJO__service__DISABLE_REGISTRATION=false
|
|
- FORGEJO__service__ENABLE_CAPTCHA=true
|
|
- FORGEJO__security__PASSWORD_HASH_ALGO=argon2
|
|
- FORGEJO__session__PROVIDER=db
|
|
- FORGEJO__security__LOGIN_REMEMBER_DAYS=365
|
|
- FORGEJO__log__LEVEL=info
|
|
- FORGEJO__log__MODE=console
|
|
- FORGEJO__ui__DEFAULT_THEME=gitea-auto
|
|
- FORGEJO__ui.meta__AUTHOR="GnousGit"
|
|
- FORGEJO__ui.meta__KEYWORDS="gitea,forge,forgejo,free,software,open,source,code,foss,oss,gnous,gnouseu"
|
|
- FORGEJO__cron.delete_inactive_accounts__ENABLED=true
|
|
- FORGEJO__cron.delete_inactive_accounts__SCHEDULE="@every 48h"
|
|
- FORGEJO__cron.delete_inactive_accounts__OLDER_THAN="48h"
|
|
- FORGEJO__markup.asciidoc__ENABLED=true
|
|
- FORGEJO__markup.asciidoc__FILE_EXTENSIONS=.adoc,.asciidoc
|
|
- FORGEJO__markup.asciidoc__RENDER_COMMAND="timeout 30s sudo -u nobody asciidoctor -s --safe-mode secure -a data-uri -a showtitle --out-file=- -"
|
|
- FORGEJO__markup.asciidoc__IS_INPUT_FILE=false
|
|
- FORGEJO__markup.pandoc_rst__ENABLED=true
|
|
- FORGEJO__markup.pandoc_rst__FILE_EXTENSIONS=.rst
|
|
- FORGEJO__markup.pandoc_rst__RENDER_COMMAND="timeout 30s sudo -u nobody pandoc +RTS -M512M -RTS -f rst"
|
|
- FORGEJO__markup.pandoc_rst__IS_INPUT_FILE=false
|
|
- FORGEJO__mailer__SMTP_ADDR=mx.gnous.eu
|
|
- FORGEJO__mailer__SMTP_PORT=587
|
|
# - FORGEJO__mailer__FROM=${SMTP_USER}
|
|
# - FORGEJO__mailer__USER=${SMTP_USER}
|
|
# - FORGEJO__mailer__PASSWD=${SMTP_PASS}
|
|
# - FORGEJO__database__HOST=${MEP_DB_HOST}
|
|
# - FORGEJO__database__NAME=${FORGEJO_DB_NAME}
|
|
# - FORGEJO__database__USER=${FORGEJO_DB_USER}
|
|
# - FORGEJO__database__PASSWD=${FORGEJO_DB_PASS}
|
|
networks:
|
|
- gitea
|
|
volumes:
|
|
- server:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "3001:3000"
|
|
- "3002:22"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# web server
|
|
- "traefik.http.services.forgejo-service-gnous.loadbalancer.server.port=3001"
|
|
- "traefik.http.routers.forgejognous.rule=Host(`git.gnous.eu`)"
|
|
- "traefik.http.routers.forgejognous.tls=true"
|
|
- "traefik.http.routers.forgejognous.tls.certresolver=defaultacme"
|
|
- "traefik.http.routers.forgejognous.entrypoints=websecure"
|
|
- "traefik.http.routers.forgejognous.service=forgejo-service-gnous"
|
|
- "traefik.http.routers.forgejognous.middlewares=proxyHeader@file,proxyError@file"
|
|
# ssh service
|
|
- "traefik.tcp.routers.forgejo-ssh-gnous.entrypoints=ssh"
|
|
- "traefik.tcp.routers.forgejo-ssh-gnous.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.forgejo-ssh-gnous.service=forgejo-ssh-gnous"
|
|
- "traefik.tcp.services.forgejo-ssh-gnous.loadbalancer.server.port=3002"
|
|
depends_on:
|
|
- cache
|
|
cache:
|
|
image: "redis:7-alpine"
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
networks:
|
|
- gitea
|
|
tmpfs:
|
|
- "/var/lib/redis"
|