Compare commits

...

45 Commits

Author SHA1 Message Date
3wc
270ed7bb93 chore: publish 3.3.1+1.23.8-rootless release 2025-05-16 20:54:29 +02:00
b2c9d95e60 Merge pull request 'fix: security release' (#44) from upgrade into master
Reviewed-on: coop-cloud/gitea#44
2025-05-16 18:53:40 +00:00
88b226f713 Merge branch 'master' into upgrade 2025-05-16 18:53:32 +00:00
85dcf3a0b1 Merge pull request 'forgejo upgrade' (#41) from forgejo into master
Reviewed-on: coop-cloud/gitea#41
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-05-15 17:27:24 +00:00
f
3840e87f2f fix: security release
https://blog.gitea.com/release-of-1.23.8/
2025-05-15 14:24:52 -03:00
f
777aad5da4 Merge branch 'master' into forgejo 2025-05-15 14:22:53 -03:00
5350ce207f Merge pull request 'feat: lfs server' (#42) from lfs into master
Reviewed-on: coop-cloud/gitea#42
2025-05-15 17:22:06 +00:00
2bfec14654 Update .drone.yml 2025-04-10 10:50:49 -07:00
f
b44e18f063 feat: configuration by forge 2025-02-20 09:17:58 -03:00
f
77624221b4 feat: lfs server 2025-02-18 15:44:59 -03:00
f
ce632c8e5f Merge branch 'master' of https://git.coopcloud.tech/coop-cloud/gitea 2025-02-13 12:29:31 -03:00
f
cac5c8d694 feat: upgrade to forgejo 10.0.1 2025-02-13 12:29:09 -03:00
cf2298162d chore: publish 3.3.0+1.23.1-rootless release 2025-02-12 14:35:34 +01:00
0bbac9ed9c feat: refresh token validity 2025-02-12 14:34:11 +01:00
f
8ffd4d33be chore: publish 3.2.0+1.23.1-rootless release 2025-01-21 10:23:43 -03:00
f
7364f0b87c feat: update forgejo to version 10.0.0 2025-01-21 10:23:08 -03:00
1619c333c3 chore: publish 3.1.1+1.23.1-rootless release 2025-01-18 15:14:06 +00:00
6d681457f8 chore: publish 3.1.0+1.23.0-rootless release 2025-01-18 15:13:22 +00:00
3wc
b2087cf373 chore: publish 3.0.3+1.22.6-rootless release 2025-01-15 12:09:07 -05:00
3wc
1418946974 Whoops, typo 😳 2025-01-14 17:37:38 -05:00
3wc
407e587646 chore: publish 3.0.2+1.22.6-rootless release 2025-01-08 12:56:24 -05:00
b4fdbfdbbb Merge pull request 'feat: toggle push to create' (#40) from push-to-create into master
Reviewed-on: coop-cloud/gitea#40
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-01-08 12:53:04 +00:00
544935a5e6 Merge pull request 'feat: sqlite3 support' (#37) from sqlite3 into master
Reviewed-on: coop-cloud/gitea#37
2025-01-07 20:14:28 +00:00
e45aee2257 Merge pull request 'feat: upgrade forgejo' (#38) from forgejo into master
Reviewed-on: coop-cloud/gitea#38
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-01-07 20:14:12 +00:00
e313c82857 Merge pull request 'feat: support other smtp protocols' (#39) from smtp into master
Reviewed-on: coop-cloud/gitea#39
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-01-07 20:12:17 +00:00
f
fb45547f0d fix: provide default 2025-01-07 14:26:12 -03:00
f
ace3ff1b4a feat: toggle push to create 2025-01-07 13:43:02 -03:00
f
b84edcbe75 feat: support other smtp protocols 2025-01-07 13:35:01 -03:00
f
25fd554ab7 feat: upgrade forgejo 2025-01-07 13:31:59 -03:00
f
b4273a95e3 feat: sqlite3 support 2025-01-07 13:30:03 -03:00
3wc
daf4a26f72 chore: publish 3.0.1+1.22.3-rootless release 2024-10-30 13:36:29 -04:00
3wc
7fec94eaec chore: publish 3.0.0+1.22.2-rootless release 2024-10-30 13:25:04 -04:00
0bfb666dd0 chore: publish 2.11.0+1.22.2-rootless release 2024-10-29 13:55:44 +01:00
2554109fab update forgejo to version 9.0.1 2024-10-29 13:55:32 +01:00
bd57d6121b update backupbot label 2024-10-24 17:01:04 +02:00
3wc
cae11a78e6 chore: publish 2.10.1+1.22.2-rootless release 2024-10-02 14:01:17 -04:00
8e8809fd07 chore: publish 2.10.0+1.22.1-rootless release 2024-08-23 19:21:01 +01:00
24e4b09b07 chore: publish 2.9.1+1.22.0-rootless release 2024-08-15 12:25:05 +02:00
43d43fb2b7 fix APP_INI_VERSION 2024-08-15 12:24:30 +02:00
3wc
c5dada903e chore: publish 2.9.0+1.22.0-rootless release 2024-07-03 14:26:42 -04:00
9687f7f738 chore: publish 2.8.0+1.21.11-rootless release 2024-05-13 16:20:13 +02:00
92073fbba5 fix backup label 2024-04-30 15:18:21 +02:00
f26296ba5c add backup label 2024-04-29 15:24:13 +02:00
baacc575c2 chore: publish 2.7.0+1.21.11-rootless release 2024-04-24 21:03:14 +01:00
53ffe86350 Merge pull request 'Adding more variable configs' (#36) from javielico/gitea:master into master
Reviewed-on: coop-cloud/gitea#36
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2024-04-24 10:01:46 +00:00
12 changed files with 119 additions and 13 deletions

View File

@ -17,6 +17,7 @@ steps:
environment:
APP_INI_VERSION: v1
DOCKER_SETUP_SH_VERSION: v1
PG_BACKUP_VERSION: v1
DOMAIN: gitea.swarm-test.autonomic.zone
GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION: true
GITEA_APP_NAME: Git with solidaritea
@ -50,7 +51,7 @@ steps:
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-recipes-catalogue-json
- toolshed/auto-recipes-catalogue-json
trigger:
event: tag

View File

@ -3,11 +3,14 @@ TYPE=gitea
DOMAIN=gitea.example.com
LETS_ENCRYPT_ENV=production
COMPOSE_FILE="compose.yml"
ENABLE_BACKUPS=true
COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"
# COMPOSE_FILE="$COMPOSE_FILE:compose.sqlite3.yml"
# COMPOSE_FILE="$COMPOSE_FILE:compose.postgres.yml"
# Enable to use forgejo instead of gitea
# COMPOSE_FILE="$COMPOSE_FILE:compose.forgejo.yml"
# SECRET_LFS_JWT_SECRET_VERSION=v1 # length=43
GITEA_DOMAIN=git.example.com
GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION=true
@ -29,6 +32,9 @@ GITEA_DEFAULT_USER_VISIBILITY=limited
GITEA_ALLOWED_USER_VISIBILITY_MODES=limited,private
GITEA_DEFAULT_ORG_VISIBILITY=limited
GITEA_REQUIRE_SIGNIN_VIEW=true
GITEA_ENABLE_PUSH_CREATE_USER=false
GITEA_ENABLE_PUSH_CREATE_ORG=false
GITEA_LFS_START_SERVER=false
GITEA_REPO_UPLOAD_ENABLED=true
GITEA_REPO_UPLOAD_ALLOWED_TYPES=*/*
@ -50,8 +56,10 @@ SECRET_SECRET_KEY_VERSION=v1 # length=64
# SMTP Mailer
# COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
# GITEA_SMTP_MAILER_ENABLED=1
# GITEA_MAILER_HOST=mail.gandi.net:465
# GITEA_MAILER_ADDR=mail.gandi.net
# GITEA_MAILER_PORT=465
# SECRET_SMTP_PASSWORD_VERSION=v1
# GITEA_MAILER_PROTOCOL=smtps
# OATH2 Options
# GITEA_REGISTER_EMAIL_CONFIRM=replace-me
@ -61,6 +69,11 @@ SECRET_SECRET_KEY_VERSION=v1 # length=64
# GITEA_ACCOUNT_LINKING=replace-me
# GITEA_OAUTH2_CLIENT_ENABLED=replace-me
# Lifetime of an OAuth2 refresh token in hours, prolly no need to edit. We
# were hitting issues with infrequently pushed to repos that were not picked
# up by drone after a month of inactivity, hence the option.
# GITEA__oauth2__REFRESH_TOKEN_EXPIRATION_TIME=730
# Indexer (for issue search)
# GITEA_REPO_INDEXER_ENABLED=false
# GITEA_ISSUE_INDEXER_TYPE=db

View File

@ -1,5 +1,6 @@
export APP_INI_VERSION=v17
export APP_INI_VERSION=v21
export DOCKER_SETUP_SH_VERSION=v1
export PG_BACKUP_VERSION=v1
abra_backup_app() {
_abra_backup_dir "app:/var/lib/gitea"

View File

@ -2,10 +2,15 @@ APP_NAME = {{ env "GITEA_APP_NAME" }}
[database]
DB_TYPE = {{ env "GITEA_DB_TYPE" }}
{{ if ne (env "GITEA_DB_TYPE") "sqlite3" }}
HOST = {{ env "GITEA_DB_HOST" }}
NAME = {{ env "GITEA_DB_NAME" }}
PASSWD = {{ secret "db_password" }}
USER = {{ env "GITEA_DB_USER" }}
{{ else }}
SQLITE_JOURNAL_MODE = {{ env "GITEA_SQLITE_JOURNAL_MODE" }}
PATH = {{ env "GITEA_PATH" }}
{{ end }}
[picture]
DISABLE_GRAVATAR = {{ env "GITEA_DISABLE_GRAVATAR" }}
@ -30,6 +35,8 @@ ENABLE_OPENID_SIGNUP = {{ env "GITEA_ENABLE_OPENID_SIGNUP" }}
[repository]
DEFAULT_BRANCH = main
ENABLE_PUSH_CREATE_USER = {{ env "GITEA_ENABLE_PUSH_CREATE_USER" }}
ENABLE_PUSH_CREATE_ORG = {{ env "GITEA_ENABLE_PUSH_CREATE_ORG" }}
[repository.upload]
ENABLED = {{ env "GITEA_REPO_UPLOAD_ENABLED" }}
@ -53,6 +60,10 @@ SSH_DOMAIN = {{ env "GITEA_DOMAIN" }}
SSH_LISTEN_PORT = {{ env "GITEA_SSH_PORT" }}
SSH_PORT = {{ env "GITEA_SSH_PORT" }}
START_SSH_SERVER = true
LFS_START_SERVER = {{ env "GITEA_LFS_START_SERVER" }}
{{ if eq (env "FORGE") "forgejo" }}
LFS_JWT_SECRET = {{ secret "lfs_jwt_secret" }}
{{ end }}
[security]
INSTALL_LOCK = true
@ -71,11 +82,12 @@ JWT_SECRET = {{ secret "jwt_secret" }}
[mailer]
ENABLED = true
FROM = {{ env "GITEA_MAILER_FROM" }}
HOST = {{ env "GITEA_MAILER_HOST" }}
PROTOCOL = {{ env "GITEA_MAILER_PROTOCOL" }}
SMTP_ADDR = {{ env "GITEA_MAILER_ADDR" }}
SMTP_PORT = {{ env "GITEA_MAILER_PORT" }}
USER = {{ env "GITEA_MAILER_USER" }}
PASSWD = {{ secret "smtp_password" }}
MAILER_TYPE = smtp
IS_TLS_ENABLED = true
{{ end }}
{{ if eq (env "GITEA_OAUTH2_CLIENT_ENABLED") "1" }}

View File

@ -2,4 +2,12 @@ version: '3.8'
services:
app:
image: codeberg.org/forgejo/forgejo:1.19.3-0-rootless
image: codeberg.org/forgejo/forgejo:10.0.1-rootless
environment:
- FORGE=forgejo
secrets:
- lfs_jwt_secret
secrets:
lfs_jwt_secret:
name: ${STACK_NAME}_lfs_jwt_secret_${SECRET_LFS_JWT_SECRET_VERSION}
external: true

View File

@ -7,8 +7,15 @@ services:
- GITEA_DB_HOST="db:3306"
- GITEA_DB_NAME=gitea
- GITEA_DB_USER=gitea
secrets:
- db_password
db:
image: "mariadb:10.11.2"
deploy:
labels:
backupbot.backup.pre-hook: 'mysqldump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" gitea > /var/lib/mysql/backup.sql'
backupbot.backup.volumes.mariadb.path: "backup.sql"
backupbot.restore.post-hook: "mariadb -u root -p\"$$(cat /run/secrets/db_root_password)\" gitea < /var/lib/mysql/backup.sql"
command: |
mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
@ -34,4 +41,3 @@ secrets:
volumes:
mariadb:
internal:

View File

@ -7,8 +7,15 @@ services:
- GITEA_DB_HOST="db:5432"
- GITEA_DB_NAME=gitea
- GITEA_DB_USER=gitea
secrets:
- db_password
db:
image: postgres:15.5
image: postgres:15.10
deploy:
labels:
backupbot.backup.pre-hook: "/pg_backup.sh backup"
backupbot.backup.volumes.db.path: "backup.sql"
backupbot.restore.post-hook: '/pg_backup.sh restore'
environment:
- POSTGRES_DB=gitea
- POSTGRES_USER=gitea
@ -19,6 +26,10 @@ services:
- db:/var/lib/postgresql/data
networks:
- internal
configs:
- source: pg_backup
target: /pg_backup.sh
mode: 0555
secrets:
db_password:
@ -27,4 +38,8 @@ secrets:
volumes:
db:
internal:
configs:
pg_backup:
name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION}
file: pg_backup.sh

View File

@ -5,8 +5,10 @@ services:
app:
environment:
- GITEA_MAILER_FROM
- GITEA_MAILER_HOST
- GITEA_MAILER_ADDR
- GITEA_MAILER_PORT
- GITEA_MAILER_USER
- "GITEA_MAILER_PROTOCOL=${GITEA_MAILER_PROTOCOL:-smtps}"
secrets:
- smtp_password

8
compose.sqlite3.yml Normal file
View File

@ -0,0 +1,8 @@
version: '3.8'
services:
app:
environment:
- GITEA_DB_TYPE=sqlite3
- GITEA_SQLITE_JOURNAL_MODE=wal
- GITEA_PATH=/var/lib/gitea/gitea.db

View File

@ -3,7 +3,7 @@ version: "3.8"
services:
app:
image: "gitea/gitea:1.21.10-rootless"
image: "gitea/gitea:1.23.8-rootless"
configs:
- source: app_ini
target: /etc/gitea/app.ini
@ -11,11 +11,11 @@ services:
target: /usr/local/bin/docker-setup.sh
mode: 0555
secrets:
- db_password
- internal_token
- jwt_secret
- secret_key
environment:
- FORGE=gitea
- GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION
- GITEA_APP_NAME
- GITEA_AUTO_WATCH_NEW_REPOS
@ -52,6 +52,8 @@ services:
- GITEA_ALLOWED_USER_VISIBILITY_MODES
- GITEA_DEFAULT_ORG_VISIBILITY
- GITEA_REQUIRE_SIGNIN_VIEW
- GITEA__oauth2__REFRESH_TOKEN_EXPIRATION_TIME
- GITEA_LFS_START_SERVER=${GITEA_LFS_START_SERVER:-false}
volumes:
- data:/var/lib/gitea
- config:/etc/gitea
@ -71,6 +73,7 @@ services:
failure_action: rollback
order: start-first
labels:
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
- "traefik.enable=true"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
@ -84,7 +87,7 @@ services:
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolalloworiginlist=https://${GITEA_CORS_ALLOW_DOMAIN}"
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.addvaryheader=true"
- coop-cloud.${STACK_NAME}.version=2.6.2+1.21.10-rootless
- coop-cloud.${STACK_NAME}.version=3.3.1+1.23.8-rootless
networks:

34
pg_backup.sh Normal file
View File

@ -0,0 +1,34 @@
#!/bin/bash
set -e
BACKUP_FILE='/var/lib/postgresql/data/backup.sql'
function backup {
export PGPASSWORD=$(cat $POSTGRES_PASSWORD_FILE)
pg_dump -U ${POSTGRES_USER} ${POSTGRES_DB} > $BACKUP_FILE
}
function restore {
cd /var/lib/postgresql/data/
restore_config(){
# Restore allowed connections
cat pg_hba.conf.bak > pg_hba.conf
su postgres -c 'pg_ctl reload'
}
# Don't allow any other connections than local
cp pg_hba.conf pg_hba.conf.bak
echo "local all all trust" > pg_hba.conf
su postgres -c 'pg_ctl reload'
trap restore_config EXIT INT TERM
# Recreate Database
psql -U ${POSTGRES_USER} -d postgres -c "DROP DATABASE ${POSTGRES_DB} WITH (FORCE);"
createdb -U ${POSTGRES_USER} ${POSTGRES_DB}
psql -U ${POSTGRES_USER} -d ${POSTGRES_DB} -1 -f $BACKUP_FILE
trap - EXIT INT TERM
restore_config
}
$@

View File

@ -0,0 +1,3 @@
BEWARE! 🚨 This release updates to the newer Gitea SMTP settings format.
If you are using SMTP, you will need to split the old GITEA_MAILER_HOST into separate GITEA_MAILER_ADDR (hostname) and GITEA_MAILER_PORT settings.