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