- Add AI scrapers robots.txt update script with weekly cron job - Add OIDC group claim and admin group configuration for Authelia - Add UI settings (SHOW_USER_EMAIL: false) - Increase memory limit to 512M
70 lines
2.4 KiB
Django/Jinja
70 lines
2.4 KiB
Django/Jinja
services:
|
|
# Redis disabled for 1GB node - re-enable on 2GB+ node
|
|
# redis:
|
|
# image: redis:7-alpine
|
|
# command: ["redis-server", "--appendonly", "yes"]
|
|
# volumes:
|
|
# - redis_data:/data
|
|
# networks:
|
|
# - forgejo
|
|
# restart: unless-stopped
|
|
|
|
forgejo:
|
|
image: codeberg.org/forgejo/forgejo:9
|
|
environment:
|
|
FORGEJO__server__DOMAIN: "{{ forgejo_hostname }}"
|
|
FORGEJO__server__ROOT_URL: "https://{{ forgejo_hostname }}/"
|
|
FORGEJO__server__SSH_DOMAIN: "{{ forgejo_hostname }}"
|
|
FORGEJO__server__SSH_PORT: "2222"
|
|
FORGEJO__server__DISABLE_SSH: "false"
|
|
FORGEJO__actions__ENABLED: "true"
|
|
FORGEJO__service__ALLOW_ONLY_EXTERNAL_REGISTRATION: "true"
|
|
FORGEJO__service__DISABLE_REGISTRATION: "true"
|
|
FORGEJO__service__REQUIRE_SIGNIN_VIEW: "false"
|
|
FORGEJO__repository__DISABLE_PUBLIC_REPOS: "false"
|
|
FORGEJO__database__DB_TYPE: sqlite3
|
|
# FORGEJO__cache__ADAPTER: redis
|
|
# FORGEJO__cache__HOST: redis:6379
|
|
FORGEJO__auth__OIDC_ISSUER_URL: https://{{ auth_hostname }}/.well-known/openid-configuration
|
|
FORGEJO__auth__OIDC_CLIENT_ID: forgejo
|
|
FORGEJO__auth__OIDC_CLIENT_SECRET: "{{ forgejo_oidc_client_secret }}"
|
|
FORGEJO__auth__OIDC_SCOPES: openid email profile groups
|
|
FORGEJO__auth__OIDC_GROUP_CLAIM_NAME: groups
|
|
FORGEJO__auth__OIDC_ADMIN_GROUP: admins
|
|
FORGEJO__ui__DEFAULT_THEME: "gitea"
|
|
FORGEJO__ui__SHOW_USER_EMAIL: "false"
|
|
volumes:
|
|
- forgejo_data:/data
|
|
- ./robots.txt:/data/forgejo/public/robots.txt:ro
|
|
ports:
|
|
- "2222:22"
|
|
networks:
|
|
- proxy
|
|
# - forgejo
|
|
restart: unless-stopped
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
reservations:
|
|
memory: 256M
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=proxy
|
|
- traefik.http.routers.forgejo.rule=Host(`{{ forgejo_hostname }}`)
|
|
- traefik.http.routers.forgejo.entrypoints=websecure
|
|
- traefik.http.routers.forgejo.tls=true
|
|
- traefik.http.routers.forgejo.tls.certresolver={{ traefik_certresolver }}
|
|
- traefik.http.routers.forgejo.middlewares=security-headers@file,compress@file,rate-limit@file
|
|
- traefik.http.services.forgejo.loadbalancer.server.port=3000
|
|
- com.centurylinklabs.watchtower.enable=true
|
|
|
|
volumes:
|
|
forgejo_data:
|
|
# redis_data:
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
# forgejo:
|
|
# external: true
|