Forgejo
Forgejo is an open source self hosted git server and frontend.
⚠️ forgejo is an experimental smol-k8s-lab app, so it may be unstable
Example configuration
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 | apps:
forgejo:
description: |
[magenta]⚠️ Experimental[/magenta]
[link=https://forgejo.org/]forgejo[/link] is an open source self hosted git server and frontend.
To provide sensitive values via environment variables to smol-k8s-lab use:
- FORGEJO_S3_BACKUP_SECRET_KEY
- FORGEJO_S3_BACKUP_ACCESS_ID
- FORGEJO_RESTIC_REPO_PASSWORD
- FORGEJO_SMTP_PASSWORD
enabled: false
init:
enabled: false
values:
admin_user: admin
admin_email: test@test.com
smtp_user: test
smtp_host: mymailhost.com
smtp_password:
value_from:
env: FORGEJO_SMTP_PASSWORD
backups:
# cronjob syntax schedule to run forgejo pvc backups
pvc_schedule: 10 0 * * *
# cronjob syntax (with SECONDS field) for forgejo postgres backups
# must happen at least 10 minutes before pvc backups, to avoid corruption
# due to missing files. This is because the backup shows as completed before
# it actually is
postgres_schedule: 0 0 0 * * *
s3:
# these are for pushing remote backups of your local s3 storage, for speed and cost optimization
endpoint: ""
bucket: ""
region: ""
secret_access_key:
value_from:
env: FORGEJO_S3_BACKUP_SECRET_KEY
access_key_id:
value_from:
env: FORGEJO_S3_BACKUP_ACCESS_ID
restic_repo_password:
value_from:
env: FORGEJO_RESTIC_REPO_PASSWORD
argo:
# secrets keys to make available to Argo CD ApplicationSets
secret_keys:
# hostname that users go to in the browser
hostname: ""
## you can delete these if you're not using tolerations/affinity
# toleration_key: ""
# toleration_operator: ""
# toleration_value: ""
# toleration_effect: ""
## these are for node affinity, delete if not in use
# affinity_key: ""
# affinity_value: ""
pvc_capacity: 10Gi
# set the local s3 provider for forgejo's public data in one bucket
# and private database backups in another. can be seaweedfs for now
s3_provider: seaweedfs
# how large the backing pvc's capacity should be for minio or seaweedfs
s3_pvc_capacity: 10Gi
# local s3 endpoint for postgresql backups, backed up constantly
s3_endpoint: ""
# optional region where your s3 bucket lives
s3_region: eu-central-1
# access mode the gotosocial pvc
access_mode: ReadWriteOnce
# git repo to install the Argo CD app from
repo: https://github.com/small-hack/argocd-apps
# path in the argo repo to point to. Trailing slash very important!
path: forgejo/app_of_apps/
# either the branch or tag to point at in the argo repo above
revision: main
# kubernetes cluster to install the k8s app into, defaults to Argo CD default
cluster: https://kubernetes.default.svc
# namespace to install the k8s app in
namespace: forgejo
# recurse directories in the git repo
directory_recursion: false
# source repos for Argo CD App Project (in addition to argo.repo)
project:
name: forgejo
# depending on if you use seaweedfs or minio, you can remove the other source repo
source_repos:
- code.forgejo.org
- seaweedfs.github.io/seaweedfs/helm
- https://small-hack.github.io/cloudnative-pg-cluster-chart
destination:
# automatically includes the app's namespace and argocd's namespace
namespaces: []
|