Compare commits

..
5 changed files with 35 additions and 21 deletions
+12 -2
View File
@@ -43,6 +43,16 @@ GITEA_CACHE_ADAPTER=memory
GITEA_CACHE_HOST= GITEA_CACHE_HOST=
GITEA_CACHE_ITEM_TTL=16h GITEA_CACHE_ITEM_TTL=16h
GITEA_LOGIN_MAX_FAILED_ATTEMPTS=5
GITEA_LOGIN_LOCKOUT_DURATION=1h
GITEA_WEBHOOK_ALLOWED_HOST_LIST=external,loopback
GITEA_WEBHOOK_DELIVER_TIMEOUT=5
GITEA_API_MAX_RESPONSE_ITEMS=50
GITEA_API_DEFAULT_PAGING_NUM=20
GITEA_API_ENABLE_SWAGGER=false
GITEA_REPO_UPLOAD_ENABLED=true GITEA_REPO_UPLOAD_ENABLED=true
GITEA_REPO_UPLOAD_ALLOWED_TYPES=*/* GITEA_REPO_UPLOAD_ALLOWED_TYPES=*/*
GITEA_REPO_UPLOAD_MAX_SIZE=50 GITEA_REPO_UPLOAD_MAX_SIZE=50
@@ -51,8 +61,8 @@ GITEA_REPO_UPLOAD_MAX_FILES=5
GITEA_MAILER_FROM=noreply@example.com GITEA_MAILER_FROM=noreply@example.com
GITEA_MAILER_USER=noreply@example.com GITEA_MAILER_USER=noreply@example.com
# SSH Support GITEA_SSH_PORT=2222
COMPOSE_FILE="$COMPOSE_FILE:compose.ssh.yml" GITEA_SSH_ENABLED=1
SECRET_INTERNAL_TOKEN_VERSION=v1 # length=105 SECRET_INTERNAL_TOKEN_VERSION=v1 # length=105
SECRET_DB_PASSWORD_VERSION=v1 SECRET_DB_PASSWORD_VERSION=v1
+5 -3
View File
@@ -52,13 +52,15 @@ abra app deploy YOURTRAEFIKAPP
``` ```
You might need to wait a bit. To check if it worked, you can run You might need to wait a bit. To check if it worked, you can run
``` ```
telnet my.forgejo.example.com 2222 telnet my.gitea.example.com 2222
``` ```
Once you have added a public SSH key, you can check that you can connect to your Forgejo server with Once you have added a public SSH key, you can check that you can connect to your gitea server with
``` ```
ssh -T -p 2222 git@my.forgejo.example.com ssh -T -p 2222 git@my.gitea.example.com
``` ```
Note that gitea should be configured to listen to port 2222, i.e. `GITEA_SSH_PORT=2222` in the gitea config.
## Protect Forgejo from scrapers with Anubis ## Protect Forgejo from scrapers with Anubis
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
+14 -4
View File
@@ -45,6 +45,12 @@ ALLOWED_USER_VISIBILITY_MODES = {{ env "GITEA_ALLOWED_USER_VISIBILITY_MODES" }}
DEFAULT_ORG_VISIBILITY = {{ env "GITEA_DEFAULT_ORG_VISIBILITY" }} DEFAULT_ORG_VISIBILITY = {{ env "GITEA_DEFAULT_ORG_VISIBILITY" }}
REQUIRE_SIGNIN_VIEW = {{ env "GITEA_REQUIRE_SIGNIN_VIEW" }} REQUIRE_SIGNIN_VIEW = {{ env "GITEA_REQUIRE_SIGNIN_VIEW" }}
ENABLE_INTERNAL_SIGNIN = {{ env "GITEA_ENABLE_INTERNAL_SIGNIN" }} ENABLE_INTERNAL_SIGNIN = {{ env "GITEA_ENABLE_INTERNAL_SIGNIN" }}
MAX_FAILED_ATTEMPTS = {{ or (env "GITEA_LOGIN_MAX_FAILED_ATTEMPTS") "5" }}
LOCKOUT_DURATION = {{ or (env "GITEA_LOGIN_LOCKOUT_DURATION") "1h" }}
[webhook]
ALLOWED_HOST_LIST = {{ or (env "GITEA_WEBHOOK_ALLOWED_HOST_LIST) "external,loopback" }}
DELIVER_TIMEOUT = {{ or (env "GITEA_WEBHOOK_DELIVER_TIMEOUT) "5" }}
[openid] [openid]
ENABLE_OPENID_SIGNIN = {{ env "GITEA_ENABLE_OPENID_SIGNIN" }} ENABLE_OPENID_SIGNIN = {{ env "GITEA_ENABLE_OPENID_SIGNIN" }}
@@ -87,10 +93,9 @@ DOMAIN = {{ env "GITEA_DOMAIN" }}
LANDING_PAGE = {{ env "GITEA_LANDING_PAGE" }} LANDING_PAGE = {{ env "GITEA_LANDING_PAGE" }}
ROOT_URL = https://%(DOMAIN)s/ ROOT_URL = https://%(DOMAIN)s/
SSH_DOMAIN = {{ env "GITEA_DOMAIN" }} SSH_DOMAIN = {{ env "GITEA_DOMAIN" }}
SSH_LISTEN_PORT = 2222 SSH_LISTEN_PORT = {{ env "GITEA_SSH_PORT" }}
SSH_PORT = 2222 SSH_PORT = {{ env "GITEA_SSH_PORT" }}
START_SSH_SERVER = {{ env "GITEA_SSH_ENABLED" }} START_SSH_SERVER = true
DISABLE_SSH = {{ if eq (env "GITEA_SSH_ENABLED") "true" }}false{{ else }}true{{ end }}
LFS_START_SERVER = {{ env "GITEA_LFS_START_SERVER" }} LFS_START_SERVER = {{ env "GITEA_LFS_START_SERVER" }}
LFS_JWT_SECRET = {{ secret "lfs_jwt_secret" }} LFS_JWT_SECRET = {{ secret "lfs_jwt_secret" }}
@@ -155,3 +160,8 @@ ENABLED_ISSUE_BY_LABEL = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL" }}
ENABLED_ISSUE_BY_REPOSITORY = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY" }} ENABLED_ISSUE_BY_REPOSITORY = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY" }}
TOKEN = {{ secret "metrics_token" }} TOKEN = {{ secret "metrics_token" }}
{{ end }} {{ end }}
[api]
MAX_RESPONSE_ITEMS = {{ or (env "GITEA_API_MAX_RESPONSE_ITEMS") "50" }}
DEFAULT_PAGING_NUM = {{ or (env "GITEA_API_DEFAULT_PAGING_NUM") "20" }}
ENABLE_SWAGGER = {{ or (env "GITEA_API_ENABLE_SWAGGER") "false" }}
-11
View File
@@ -1,11 +0,0 @@
---
version: "3.8"
services:
app:
environment:
- GITEA_SSH_ENABLED=true
deploy:
labels:
- "traefik.tcp.routers.${STACK_NAME}-ssh.rule=HostSNI(`*`)"
- "traefik.tcp.routers.${STACK_NAME}-ssh.entrypoints=gitea-ssh"
- "traefik.tcp.services.${STACK_NAME}-ssh.loadbalancer.server.port=${GITEA_SSH_PORT}"
+4 -1
View File
@@ -26,7 +26,7 @@ services:
- GITEA_ENABLE_OPENID_SIGNIN - GITEA_ENABLE_OPENID_SIGNIN
- GITEA_ENABLE_OPENID_SIGNUP - GITEA_ENABLE_OPENID_SIGNUP
- GITEA_SMTP_MAILER_ENABLED - GITEA_SMTP_MAILER_ENABLED
- GITEA_SSH_ENABLED=false - GITEA_SSH_PORT
- GITEA_DISABLE_GRAVATAR - GITEA_DISABLE_GRAVATAR
- GITEA_ENABLE_FEDERATED_AVATAR - GITEA_ENABLE_FEDERATED_AVATAR
- GITEA_REGISTER_EMAIL_CONFIRM - GITEA_REGISTER_EMAIL_CONFIRM
@@ -81,6 +81,9 @@ services:
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.tcp.routers.${STACK_NAME}-ssh.rule=HostSNI(`*`)"
- "traefik.tcp.routers.${STACK_NAME}-ssh.entrypoints=gitea-ssh"
- "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.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"