infrastructure/playbooks/roles/forgejo/vars/main.yml

120 lines
3 KiB
YAML

---
forgejo_svc:
domain: "{{ all_services | service_get_domain(role_name) }}"
port: 3000
caddy_extra: |
import analytics
header /attachments/* Access-Control-Allow-Origin *
db:
host: "{{ postgres.host }}"
port: "{{ postgres.port }}"
ssh_port: 22
forgejo_ini:
database:
DB_TYPE: postgres
HOST: "{{ svc.db.host }}:{{ svc.db.port }}"
NAME: "{{ opentofu.postgresql_data.forgejo.database }}"
USER: "{{ opentofu.postgresql_data.forgejo.user }}"
PASSWD: "{{ opentofu.postgresql_data.forgejo.pass }}"
SSL_MODE: verify-full
repository:
ENABLE_PUSH_CREATE_USER: true
ENABLE_PUSH_CREATE_ORG: true
DEFAULT_BRANCH: main
cors:
ENABLED: true
SCHEME: https
ui:
DEFAULT_THEME: forgejo-dark
server:
DOMAIN: "{{ svc.domain }}"
SSH_DOMAIN: "{{ svc.domain }}"
SSH_PORT: "{{ svc.ssh_port }}"
ROOT_URL: https://{{ svc.domain }}
OFFLINE_MODE: true
LFS_JWT_SECRET: "{{ vault_forgejo.server_lfs_jwt_secret }}"
LFS_START_SERVER: true
security:
INSTALL_LOCK: true
INTERNAL_TOKEN: "{{ vault_forgejo.security_internal_token }}"
SECRET_KEY: "{{ vault_forgejo.security_secret_key }}"
openid:
ENABLE_OPENID_SIGNUP: true
ENABLE_OPENID_SIGNIN: false
service:
ALLOW_ONLY_EXTERNAL_REGISTRATION: true
ENABLE_BASIC_AUTHENTICATION: false
DEFAULT_KEEP_EMAIL_PRIVATE: true
NO_REPLY_ADDRESS: discard.msrg.cc
webhook:
DELIVER_TIMEOUT: 60
mailer:
ENABLED: true
PROTOCOL: smtp+starttls
SMTP_ADDR: "{{ mailer.host }}"
SMTP_PORT: "{{ mailer.port }}"
FROM: "git <{{ opentofu.mailcow_data.forgejo.address }}>"
USER: "{{ opentofu.mailcow_data.forgejo.address }}"
PASSWD: "{{ opentofu.mailcow_data.forgejo.password }}"
SEND_AS_PLAIN_TEXT: true
picture:
DISABLE_GRAVATAR: true
attachment:
MAX_FILES: 10
oauth2:
JWT_SECRET: "{{ vault_forgejo.oauth2_jwt_secret }}"
log.console:
FLAGS: "level,medfile,shortfuncname"
metrics:
ENABLED: true
TOKEN: "{{ vault_metrics_token }}"
actions:
ENABLED: true
storage:
STORAGE_TYPE: minio
MINIO_ENDPOINT: "{{ opentofu.scaleway_data.forgejo.api_endpoint | urlsplit('hostname') }}"
MINIO_ACCESS_KEY_ID: "{{ opentofu.scaleway_data.forgejo.access_key }}"
MINIO_SECRET_ACCESS_KEY: "{{ opentofu.scaleway_data.forgejo.secret_key }}"
MINIO_BUCKET: "{{ opentofu.scaleway_data.forgejo.name }}"
MINIO_LOCATION: "{{ opentofu.scaleway_data.forgejo.region }}"
MINIO_USE_SSL: true
other:
SHOW_FOOTER_VERSION: true
SHOW_FOOTER_TEMPLATE_LOAD_TIME: false
forgejo_compose:
watchtower: update
collect_logs: true
image: codeberg.org/forgejo/forgejo:11
volumes:
- data:/data
- ./app.ini:/data/gitea/conf/app.ini
- ./templates:/data/gitea/templates
- ./public:/data/gitea/public
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
file:
services:
app:
ports:
- "{{ svc.ssh_port }}:{{ svc.ssh_port }}"
volumes:
data: