Added Forgejo configuration

This commit is contained in:
Adam Parler 2026-05-18 13:20:30 -04:00
parent 9508251865
commit 6e66ba22ce
4 changed files with 169 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*/secrets/*

View file

@ -0,0 +1,96 @@
APP_NAME = Forgejo
RUN_MODE = prod
APP_SLOGAN = Beyond coding. We Forge.
RUN_USER = git
WORK_PATH = /data/gitea
[repository]
ROOT = /data/git/repositories
[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
[repository.upload]
TEMP_PATH = /data/gitea/uploads
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = 10.0.1.2
SSH_DOMAIN = 10.0.1.2
HTTP_PORT = 3000
ROOT_URL = https://forgejo.adamhome.io/
DISABLE_SSH = false
SSH_PORT = 22
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
OFFLINE_MODE = true
[database]
PATH = /data/gitea/gitea.db
DB_TYPE = mysql
HOST = db:3306
NAME = forgejo
USER = forgejo
LOG_SQL = false
SCHEMA =
SSL_MODE = disable
[indexer]
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER = file
[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
[attachment]
PATH = /data/gitea/attachments
[log]
MODE = console
LEVEL = info
ROOT_PATH = /data/gitea/log
[security]
INSTALL_LOCK = true
SECRET_KEY =
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
PASSWORD_HASH_ALGO = pbkdf2_hi
[service]
DISABLE_REGISTRATION = false
REGISTER_MANUAL_CONFIRM = true
REQUIRE_SIGNIN_VIEW = false
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = false
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.adamhome.io
[lfs]
PATH = /data/git/lfs
[mailer]
ENABLED = false
[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true
[cron.update_checker]
ENABLED = true
[repository.pull-request]
DEFAULT_MERGE_STYLE = merge
[repository.signing]
DEFAULT_TRUST_MODEL = committer
[oauth2]

View file

@ -0,0 +1,53 @@
services:
forgejo:
image: codeberg.org/forgejo/forgejo:11.0.14
container_name: forgejo
restart: always
ports:
- '3000:3000'
- '222:22'
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=mysql
- FORGEJO__database__HOST=db:3306
- FORGEJO__database__NAME=forgejo
- FORGEJO__database__USER=forgejo
- FORGEJO__database__PASSWD_FILE=/run/secrets/db_password
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- forgejo
secrets:
- db_password
depends_on:
- db
db:
image: mysql:8.4.9
container_name: forgejo-db
restart: always
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
- MYSQL_USER=forgejo
- MYSQL_PASSWORD_FILE=/run/secrets/db_password
- MYSQL_DATABASE=forgejo
volumes:
- ./mysql:/var/lib/mysql
networks:
- forgejo
secrets:
- db_root_password
- db_password
secrets:
db_password:
file: secrets/db_password.txt
db_root_password:
file: secrets/db_root_password.txt
networks:
forgejo:
external: false

19
setup.sh Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
if command -v podman &> /dev/null; then
PROG="podman"
echo "Podman command exists"
elif command -v docker &> /dev/null; then
PROG="docker"
echo "Docker command exists"
else
echo "Container command (Docker/Podman) could not be found!"
fi
# Check if folder exists
if [ -d "forgejo" ]; then
cd forgejo
echo "Attempting to start forgejo container ..."
$PROG compose -f docker-compose.yml up -d
fi