changed forge version control container service from gitea to forgejo--added uid/gid environment variables for some containers

This commit is contained in:
2026-07-23 19:07:12 -04:00
parent 520bd50739
commit 87c9918ec8

View File

@@ -52,6 +52,9 @@ services:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.forwarding=1
# - net.ipv6.conf.all.src_valid_mark=1
environment:
PUID: $(id -u)
PGID: $(whoami | id -g)
env_file:
- ${HOME}/.all.env
labels:
@@ -214,15 +217,15 @@ services:
# @NOTE https://docs.gitea.com/administration/reverse-proxies
# @NOTE https://docs.gitea.com/administration/config-cheat-sheet
forge:
image: docker.gitea.com/gitea:1.26.4
image: codeberg.org/forgejo/forgejo:16
container_name: forge
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- ~/.config/gitea:/data:z
- ~/.config/forgejo:/data:z
expose:
- 3000
- ${GITEA_SSH_PORT:-2323}
- ${FORGEJO_SSH_PORT:-2222}
# networks:
# - wg
network_mode: "container:wgclient"
@@ -235,54 +238,72 @@ services:
- ${HOME}/.mysql.env
- ${HOME}/.gitea.env
environment:
GITEA_DEFAULT_RUN_USER: ${GITEA_MODE:-dev}
GITEA_DEFAULT_APP_NAME: ${GITEA_NAME}
GITEA_server_PROTOCOL: http
GITEA_server_DOMAIN: ${GITEA_SUBDOMAIN}.${SERVER_FQDN}
USER_UID: $(id -u)
USER_GID: $(whoami | id -g)
FORGEJO__RUN_USER: ${FORGEJO_MODE:-dev}
FORGEJO__APP_NAME: ${FORGEJO_NAME}
FORGEJO__APP_SLOGAN: ${FORGEJO_SLOGAN}
FORGEJO__ui.meta_AUTHOR: ${SERVER_FQDN%.*}
FORGEJO__ui.meta_DESCRIPTION: ${FORGEJO_DESC}
FORGEJO__server_PROTOCOL: ${FORGEJO_PROTOCOL}
FORGEJO__server_DOMAIN: ${FORGEJO_SUBDOMAIN}.${SERVER_FQDN}
# @NOTE https://gist.github.com/erik-toth/087262f19941da9bf4c2ce449fe98a47
GITEA_server_SSH_PORT: ${GITEA_SSH_PORT:-2323}
GITEA_server_SSH_EXPOSE_ANONYMOUS: "false"
GITEA_server_START_SSH_SERVER: "false"
GITEA_server_LANDING_PAGE: ${GITEA_LANDING:-explore}
GITEA_admin_DEFAULT_EMAIL_NOTIFICATIONS: onmention
GITEA_security_REVERSE_PROXY_TRUSTED_PROXIES: ${GITEA_TRUSTED_PROXIES}
GITEA_security_PASSWORD_COMPLEXITY: lower,upper,digit,spec
GITEA_security_PASSWORD_CHECK_PWN: "true"
GITEA_service_REGISTER_EMAIL_CONFIRM: "true"
GITEA_service_DISABLE_REGISTRATION: ${GITEA_PROHIBIT_REGISTRATION:-false}
GITEA_service_DEFAULT_KEEP_EMAIL_PRIVATE: "true"
GITEA_service_ENABLE_NOTIFY_MAIL: "true"
GITEA_picture_REPOSITORY_AVATAR_FALLBACK: image
GITEA_picture_REPOSITORY_AVATAR_FALLBACK_IMAGE: img/repo_default.svg
GITEA_log_MODE: file
GITEA_log_ENABLE_SSH_LOG: "true"
GITEA_mailer_ENABLED: "true"
GITEA_mailer_PROTOCOL: ${EMAIL_SEND_PROTOCOL:-smtp}s
GITEA_mailer_SMTP_ADDR: ${EMAIL_SMTP_HOST}
GITEA_mailer_SMTP_PORT: ${EMAIL_SMTP_PORT:-465}
GITEA_mailer_USER: ${EMAIL_SMTP_USERNAME}
GITEA_mailer_PASSWD_FILE: /run/secrets/email.pass
GITEA_mailer_FROM: ${EMAIL_SMTP_USER_ALIAS:-admin}@${EMAIL_SMTP_EMAIL_ALIAS}
GITEA_database_DB_TYPE: ${GITEA_DB_TYPE:-mysql}
GITEA_database_HOST: "${MYSQL_DB_HOST}:3306"
GITEA_database_NAME: ${GITEA_DB_NAME:-gitea}
GITEA_database_USER: ${MYSQL_DB_USER:-admin}
GITEA_database_PASSWD_FILE: /run/secrets/user-mysql.pass
GITEA_repository_DEFAULT_BRANCH: main
GITEA_repository_DEFAULT_PRIVATE: private
GITEA_repository_ORG_MAX_CREATION_LIMIT: 75
GITEA_repository_ENABLE_PUSH_CREATE_USER: "true"
GITEA_repository_DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH: "true"
GITEA_repository.issue_MAX_PINNED: 6
GITEA_federation_ENABLED: "true"
FORGEJO__server_SSH_PORT: ${FORGEJO_SSH_PORT:-2323}
FORGEJO__server_SSH_EXPOSE_ANONYMOUS: false
FORGEJO__server_START_SSH_SERVER: false
FORGEJO__server_SSH_AUTHORIZED_KEYS_BACKUP: true
FORGEJO__server_LANDING_PAGE: ${FORGEJO_LANDING:-explore}
FORGEJO__admin_DEFAULT_EMAIL_NOTIFICATIONS: onmention
FORGEJO__security_REVERSE_PROXY_TRUSTED_PROXIES: ${FORGEJO_TRUSTED_PROXIES}
FORGEJO__security_PASSWORD_COMPLEXITY: lower,upper,digit,spec
FORGEJO__security_PASSWORD_CHECK_PWN: true
FORGEJO__security_GLOBAL_TWO_FACTOR_REQUIREMENT: true
FORGEJO__service_REGISTER_EMAIL_CONFIRM: true
FORGEJO__service_DEFAULT_KEEP_EMAIL_PRIVATE: true
FORGEJO__service_DISABLE_REGISTRATION: ${FORGEJO_PROHIBIT_REGISTRATION:-true}
FORGEJO__service_ENABLE_NOTIFY_MAIL: true
FORGEJO__security_ENABLE_CAPTCHA: true
FORGEJO__picture_REPOSITORY_AVATAR_FALLBACK: image
FORGEJO__picture_REPOSITORY_AVATAR_FALLBACK_IMAGE: img/repo_default.svg
FORGEJO__picture_ENABLE_FEDERATED_AVATAR: true
FORGEJO__log_MODE: file
FORGEJO__mailer_ENABLED: true
FORGEJO__mailer_PROTOCOL: ${EMAIL_SEND_PROTOCOL:-smtp}s
FORGEJO__mailer_SMTP_ADDR: ${EMAIL_SMTP_HOST}
FORGEJO__mailer_SMTP_PORT: ${EMAIL_SMTP_PORT:-465}
FORGEJO__mailer_USER: ${EMAIL_SMTP_USERNAME}
FORGEJO__mailer_PASSWD_URI: file:/run/secrets/email.pass
FORGEJO__mailer_FROM: "\"${SERVER_FQDN%.*} Administrator\" <${EMAIL_SMTP_USER_ALIAS:-admin}@${EMAIL_SMTP_EMAIL_ALIAS}>"
FORGEJO__database_DB_TYPE: ${FORGEJO_DB_TYPE:-mysql}
FORGEJO__database_HOST: "${MYSQL_DB_HOST}:3306"
FORGEJO__database_NAME: ${FORGEJO_DB_NAME:-forgejo}
FORGEJO__database_USER: ${MYSQL_DB_USER:-admin}
FORGEJO__database_PASSWD_URI: file:/run/secrets/user-mysql.pass
FORGEJO__repository_DEFAULT_BRANCH: main
FORGEJO__repository_DEFAULT_PRIVATE: private
FORGEJO__repository_ENABLE_PUSH_CREATE_USER: true
FORGEJO__repository_DEFAULT_CLOSE_ISSUES_VIA_COMMITS_IN_ANY_BRANCH: true
FORGEJO__repository.issue_MAX_PINNED: 6
FORGEJO__repository.issue_LOCK_REASON: ${FORGEJO_LOCK_REASONS}
FORGEJO__federation_ENABLED: true
FORGEJO__cors_ENABLED: true
FORGEJO__cors_ALLOW_DOMAIN: "${FORGEJO_PROTOCOL}://${SERVER_FQDN} ${FORGEJO_PROTOCOL}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
FORGEJO__cors_ALLOW_CREDENTIALS: true
FORGEJO__ui_SHOW_USER_EMAIL: false
FORGEJO__ui_ONLY_SHOW_RELEVANT_REPOS: true
FORGEJO__project_PROJECT_BOARD_BASIC_KANBAN_TYPE: ${FORGEJO_KANBAN_COLUMNS}
FORGEJO__project_PROJECT_BOARD_BUG_TRIAGE_TYPE: ${FORGEJO_TRIAGE_CATEGORIES}
FORGEJO__migrations_ALLOW_DOMAINS: "*.${SERVER_FQDN},*.bebopfederation.org,github.com,*.github.com,gitlab.com,*.gitlab.com,codeberg.org,*.codeberg.org,sr.ht,*.sr.ht"
FORGEJO__moderation_ENABLED: true
FORGEJO__repository.editor_LINE_WRAP_EXTENSIONS: .txt,.md,.markdown,.mdown,.mkd,.livemd
secrets:
- "user-mysql.pass"
- email.pass
labels:
glance.name: Gitea
glance.id: gitea
glance.icon: "si:gitea"
glance.url: "${SERVER_FQDN_SCHEME}://${GITEA_SUBDOMAIN}.${SERVER_FQDN}"
glance.name: ForgeJO
glance.id: forgejo
glance.icon: "si:forgejo"
glance.url: "${SERVER_FQDN_SCHEME}://${FORGEJO_SUBDOMAIN}.${SERVER_FQDN}"
glance.description: Git version control forge server
gist:
@@ -308,7 +329,7 @@ services:
OG_OPENGIST_HOME: /opengist
OG_LOG_OUTPUT: file
OG_GIT_DEFAULT_BRANCH: main
OG_HTTP_GIT_ENABLED: "true"
OG_HTTP_GIT_ENABLED: true
OG_EXTERNAL_URL: "${SERVER_FQDN_SCHEME}://${OG_SUBDOMAIN}.${SERVER_FQDN}"
OG_CUSTOM_NAME: ${OG_NAME}
OG_CUSTOM_LOGO: ${OG_LOGO:-logo.svg}