Compare commits
31
Commits
session
...
access-logs
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84702e4819
|
||
|
|
c6d152bff7 | ||
|
|
f5b581a487 | ||
|
|
010c852dc2 | ||
|
|
92cd920c08 | ||
|
|
9497e42181 | ||
|
|
f6f204c974 | ||
|
|
a74d85f4b1 | ||
|
|
2283a6046b | ||
|
|
41f5172a42 | ||
|
|
d6e6a8d404 | ||
|
|
3761b0ab5c | ||
|
|
f3fa092011 | ||
|
|
fe308a35bb | ||
|
|
1b16538e65 | ||
|
|
e49e3034f1 | ||
|
|
690538efc8 | ||
|
|
472f53006c
|
||
|
|
505e6ab30a | ||
|
|
b9f6a463ee | ||
|
|
e047ec2bc3 | ||
|
|
11fc77d930
|
||
|
|
108c3cb1aa
|
||
|
|
37a0fd3608
|
||
|
|
5e17977c4c
|
||
|
|
44c276220d
|
||
|
|
a46b4c3fdb | ||
|
|
f1237cbed8
|
||
|
|
96b82f2cb1 | ||
|
|
000de73bb3
|
||
|
|
b0f52307a5
|
+17
@@ -72,6 +72,13 @@ GITEA_STORAGE_TYPE=local
|
|||||||
# MINIO_CHECKSUM_ALGORITHM=default
|
# MINIO_CHECKSUM_ALGORITHM=default
|
||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.s3.yml"
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.s3.yml"
|
||||||
|
|
||||||
|
# Instance Commit Signing
|
||||||
|
# https://forgejo.org/docs/latest/admin/advanced/signing/
|
||||||
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.signing.yml"
|
||||||
|
# GITEA_SIGNING_ENABLED=1
|
||||||
|
# SECRET_SIGNING_PUBLIC_KEY_VERSION=v1
|
||||||
|
# SECRET_SIGNING_PRIVATE_KEY_VERSION=v1
|
||||||
|
|
||||||
# SMTP Mailer
|
# SMTP Mailer
|
||||||
# COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
|
||||||
# GITEA_SMTP_MAILER_ENABLED=1
|
# GITEA_SMTP_MAILER_ENABLED=1
|
||||||
@@ -97,3 +104,13 @@ GITEA_STORAGE_TYPE=local
|
|||||||
# GITEA_REPO_INDEXER_ENABLED=false
|
# GITEA_REPO_INDEXER_ENABLED=false
|
||||||
# GITEA_ISSUE_INDEXER_TYPE=db
|
# GITEA_ISSUE_INDEXER_TYPE=db
|
||||||
# GITEA_STARTUP_TIMEOUT=-1
|
# GITEA_STARTUP_TIMEOUT=-1
|
||||||
|
|
||||||
|
# Prometheus metrics
|
||||||
|
# FORGEJO_METRICS_ENABLED=false
|
||||||
|
# FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL=false
|
||||||
|
# FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY=false
|
||||||
|
# SECRET_FORGEJO_METRICS_TOKEN_VERSION=v1
|
||||||
|
# COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
|
||||||
|
|
||||||
|
# Enable access logs. See Access logs on Traefik.
|
||||||
|
#ACCESS_LOGS=true
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
[](https://build.coopcloud.tech/coop-cloud/forgejo)
|
[](https://build.coopcloud.tech/coop-cloud/forgejo)
|
||||||
|
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
* **Maintainer**: [@p4u1](https://git.coopcloud.tech/p4u1), [@fauno](https://git.coopcloud.tech/fauno)
|
* **Maintainer**: [@fauno](https://git.coopcloud.tech/fauno)
|
||||||
* **Category**: Development
|
* **Category**: Development
|
||||||
* **Status**: 5
|
* **Status**: 5
|
||||||
* **Image**: [`forgejo/forgejo`](https://codeberg.org/forgejo/-/packages/container/forgejo/13-rootless), 4, upstream
|
* **Image**: [`forgejo/forgejo`](https://codeberg.org/forgejo/-/packages/container/forgejo/13-rootless), 4, upstream
|
||||||
@@ -66,3 +66,16 @@ Note that gitea should be configured to listen to port 2222, i.e. `GITEA_SSH_POR
|
|||||||
Uncomment the Anubis compose file from the `.env` file and re-deploy the
|
Uncomment the Anubis compose file from the `.env` file and re-deploy the
|
||||||
app. Don't forget to actually [enable Anubis on the Traefik app
|
app. Don't forget to actually [enable Anubis on the Traefik app
|
||||||
too](https://recipes.coopcloud.tech/traefik)!
|
too](https://recipes.coopcloud.tech/traefik)!
|
||||||
|
|
||||||
|
## [Instance Commit Signing](https://forgejo.org/docs/latest/admin/advanced/signing/)
|
||||||
|
|
||||||
|
To allow Forgejo to sign commits, uncomment the corresponding
|
||||||
|
configuration block, and then generate and insert the SSH keys:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
abra app config git.example.coop
|
||||||
|
ssh-keygen -t ed25519
|
||||||
|
app app secret insert git.example.coop signing_public_key v1 -f ~/.ssh/id_ed25519.pub
|
||||||
|
app app secret insert git.example.coop signing_private_key v1 -f ~/.ssh/id_ed25519
|
||||||
|
app app deploy git.example.coop
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
export APP_INI_VERSION=v26
|
export APP_INI_VERSION=v27
|
||||||
export DOCKER_SETUP_SH_VERSION=v1
|
export DOCKER_SETUP_SH_VERSION=v2
|
||||||
export PG_BACKUP_VERSION=v1
|
export PG_BACKUP_VERSION=v1
|
||||||
|
|
||||||
abra_backup_app() {
|
abra_backup_app() {
|
||||||
|
|||||||
@@ -62,6 +62,18 @@ ALLOWED_TYPES = {{ env "GITEA_REPO_UPLOAD_ALLOWED_TYPES" }}
|
|||||||
FILE_MAX_SIZE = {{ env "GITEA_REPO_UPLOAD_MAX_SIZE" }}
|
FILE_MAX_SIZE = {{ env "GITEA_REPO_UPLOAD_MAX_SIZE" }}
|
||||||
MAX_FILES = {{ env "GITEA_REPO_UPLOAD_MAX_FILES" }}
|
MAX_FILES = {{ env "GITEA_REPO_UPLOAD_MAX_FILES" }}
|
||||||
|
|
||||||
|
{{ if eq (env "GITEA_SIGNING_ENABLED") "1" }}
|
||||||
|
[repository.signing]
|
||||||
|
FORMAT = ssh
|
||||||
|
SIGNING_KEY = /var/lib/gitea/signing_key.pub
|
||||||
|
SIGNING_NAME = {{ env "GITEA_APP_NAME" }}
|
||||||
|
SIGNING_EMAIL = {{ env "GITEA_MAILER_FROM" }}
|
||||||
|
INITIAL_COMMIT = always
|
||||||
|
WIKI = always
|
||||||
|
CRUD_ACTIONS = always
|
||||||
|
MERGES = always
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
[ui]
|
[ui]
|
||||||
SHOW_USER_EMAIL = {{ env "GITEA_SHOW_USER_EMAIL" }}
|
SHOW_USER_EMAIL = {{ env "GITEA_SHOW_USER_EMAIL" }}
|
||||||
|
|
||||||
@@ -134,3 +146,11 @@ PROVIDER = {{ env "GITEA_SESSION_PROVIDER" }}
|
|||||||
ADAPTER = {{ env "GITEA_CACHE_ADAPTER" }}
|
ADAPTER = {{ env "GITEA_CACHE_ADAPTER" }}
|
||||||
HOST = {{ env "GITEA_CACHE_HOST" }}
|
HOST = {{ env "GITEA_CACHE_HOST" }}
|
||||||
ITEM_TTL = {{ env "GITEA_CACHE_ITEM_TTL" }}
|
ITEM_TTL = {{ env "GITEA_CACHE_ITEM_TTL" }}
|
||||||
|
|
||||||
|
{{ if eq (env "FORGEJO_METRICS_ENABLED") "true" }}
|
||||||
|
[metrics]
|
||||||
|
ENABLED = {{ env "FORGEJO_METRICS_ENABLED" }}
|
||||||
|
ENABLED_ISSUE_BY_LABEL = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL" }}
|
||||||
|
ENABLED_ISSUE_BY_REPOSITORY = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY" }}
|
||||||
|
TOKEN = {{ secret "metrics_token" }}
|
||||||
|
{{ end }}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
secrets:
|
||||||
|
- metrics_token
|
||||||
|
deploy:
|
||||||
|
labels:
|
||||||
|
- "prometheus.io/scrape=true"
|
||||||
|
- "prometheus.io/port=3000"
|
||||||
|
- "prometheus.io/path=/metrics"
|
||||||
|
- "prometheus.io/auth=bearer"
|
||||||
|
secrets:
|
||||||
|
metrics_token:
|
||||||
|
name: ${STACK_NAME}_metrics_token_${SECRET_FORGEJO_METRICS_TOKEN_VERSION}
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
secrets:
|
||||||
|
- signing_public_key
|
||||||
|
- signing_private_key
|
||||||
|
secrets:
|
||||||
|
signing_public_key:
|
||||||
|
name: ${STACK_NAME}_signing_public_key_${SECRET_SIGNING_PUBLIC_KEY_VERSION}
|
||||||
|
external: true
|
||||||
|
signing_private_key:
|
||||||
|
name: ${STACK_NAME}_signing_private_key_${SECRET_SIGNING_PRIVATE_KEY_VERSION}
|
||||||
|
external: true
|
||||||
+3
-2
@@ -3,7 +3,7 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: codeberg.org/forgejo/forgejo:15.0.2-rootless
|
image: codeberg.org/forgejo/forgejo:15.0.9-rootless
|
||||||
configs:
|
configs:
|
||||||
- source: app_ini
|
- source: app_ini
|
||||||
target: /var/lib/gitea/custom/conf/app.ini
|
target: /var/lib/gitea/custom/conf/app.ini
|
||||||
@@ -85,12 +85,13 @@ services:
|
|||||||
- "traefik.tcp.routers.${STACK_NAME}-ssh.entrypoints=gitea-ssh"
|
- "traefik.tcp.routers.${STACK_NAME}-ssh.entrypoints=gitea-ssh"
|
||||||
- "traefik.tcp.services.${STACK_NAME}-ssh.loadbalancer.server.port=${GITEA_SSH_PORT}"
|
- "traefik.tcp.services.${STACK_NAME}-ssh.loadbalancer.server.port=${GITEA_SSH_PORT}"
|
||||||
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}_cors"
|
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}_cors"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}.observability.accesslogs=${ACCESS_LOGS:-false}"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
|
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolallowheaders=content-type,authorization"
|
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolallowheaders=content-type,authorization"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.accesscontrolalloworiginlist=https://${GITEA_CORS_ALLOW_DOMAIN}"
|
- "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.accesscontrolmaxage=100"
|
||||||
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.addvaryheader=true"
|
- "traefik.http.middlewares.${STACK_NAME}_cors.headers.addvaryheader=true"
|
||||||
- coop-cloud.${STACK_NAME}.version=5.3.1+15.0.2-rootless
|
- coop-cloud.${STACK_NAME}.version=5.6.3+15.0.9-rootless
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -6,10 +6,18 @@
|
|||||||
# Prepare git folder
|
# Prepare git folder
|
||||||
mkdir -p ${HOME} && chmod 0700 ${HOME}
|
mkdir -p ${HOME} && chmod 0700 ${HOME}
|
||||||
if [ ! -w ${HOME} ]; then echo "${HOME} is not writable"; exit 1; fi
|
if [ ! -w ${HOME} ]; then echo "${HOME} is not writable"; exit 1; fi
|
||||||
|
|
||||||
# Prepare custom folder
|
# Prepare custom folder
|
||||||
mkdir -p ${GITEA_CUSTOM} && chmod 0500 ${GITEA_CUSTOM}
|
mkdir -p ${GITEA_CUSTOM} && chmod 0500 ${GITEA_CUSTOM}
|
||||||
|
|
||||||
# Prepare temp folder
|
# Prepare temp folder
|
||||||
mkdir -p ${GITEA_TEMP} && chmod 0700 ${GITEA_TEMP}
|
mkdir -p ${GITEA_TEMP} && chmod 0700 ${GITEA_TEMP}
|
||||||
if [ ! -w ${GITEA_TEMP} ]; then echo "${GITEA_TEMP} is not writable"; exit 1; fi
|
if [ ! -w ${GITEA_TEMP} ]; then echo "${GITEA_TEMP} is not writable"; exit 1; fi
|
||||||
|
|
||||||
|
if [ -e /run/secrets/signing_public_key ] ; then
|
||||||
|
if [ ! -e /var/lib/gitea/signing_key.pub ]; then
|
||||||
|
ln -s /run/secrets/signing_public_key /var/lib/gitea/signing_key.pub
|
||||||
|
ln -s /run/secrets/signing_private_key /var/lib/gitea/signing_key
|
||||||
|
fi
|
||||||
|
|
||||||
|
chmod 600 /var/lib/gitea/signing_key*
|
||||||
|
fi
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
New enviromental variables have been added! Please update your .env before deploying.
|
||||||
Reference in New Issue
Block a user