89 lines
1.6 KiB
Plaintext
89 lines
1.6 KiB
Plaintext
{
|
|
"networks": {
|
|
"forgejo": {
|
|
"external": false
|
|
}
|
|
},
|
|
|
|
"services": {
|
|
"server": {
|
|
"image": "{{.Src}}",
|
|
"container_name": "forgejo",
|
|
"environment": [
|
|
"USER_UID=1000",
|
|
"USER_GID=1000",
|
|
{{if eq .Config.db "mysql"}}
|
|
FORGEJO__database__DB_TYPE=mysql,
|
|
FORGEJO__database__HOST=db:3306,
|
|
FORGEJO__database__NAME=forgejo,
|
|
FORGEJO__database__USER=forgejo,
|
|
FORGEJO__database__PASSWD=forgejo,
|
|
{{end}}
|
|
{{if eq .Config.db "postgres"}}
|
|
FORGEJO__database__DB_TYPE=postgres,
|
|
FORGEJO__database__HOST=db:5432,
|
|
FORGEJO__database__NAME=forgejo,
|
|
FORGEJO__database__USER=forgejo,
|
|
FORGEJO__database__PASSWD=forgejo,
|
|
{{end}}
|
|
],
|
|
{{with .Config.Restart}}"restart": "{{.}}",{{end}}
|
|
"networks": [
|
|
"forgejo"
|
|
],
|
|
"volumes": [
|
|
{{range .Volumes}}
|
|
"{{.}}",
|
|
{{end}}
|
|
],
|
|
"ports": [
|
|
{{range .Ports}}
|
|
"{{.}}",
|
|
{{end}}
|
|
],
|
|
{{if .Config.db}}
|
|
"depends_on": [
|
|
"db"
|
|
],
|
|
{{end}}
|
|
},
|
|
|
|
{{if eq .Config.db "mysql"}}
|
|
"db": {
|
|
"image": "mysql:8",
|
|
"restart": "always",
|
|
"environment": [
|
|
"MYSQL_ROOT_PASSWORD=forgejo",
|
|
"MYSQL_USER=forgejo",
|
|
"MYSQL_PASSWORD=forgejo",
|
|
"MYSQL_DATABASE=forgejo"
|
|
],
|
|
"networks": [
|
|
"forgejo"
|
|
],
|
|
"volumes": [
|
|
"{{.Config.db_path}}:/var/lib/mysql"
|
|
]
|
|
},
|
|
{{end}}
|
|
|
|
{{if eq .Config.db "postgres"}}
|
|
"db": {
|
|
"image": "postgres:14",
|
|
"restart": "always",
|
|
"environment": [
|
|
"POSTGRES_USER=forgejo",
|
|
"POSTGRES_PASSWORD=forgejo",
|
|
"POSTGRES_DB=forgejo"
|
|
],
|
|
"networks": [
|
|
"forgejo"
|
|
],
|
|
"volumes": [
|
|
"{{.Config.db_path}}:/var/lib/postgresql/data"
|
|
]
|
|
},
|
|
{{end}}
|
|
}
|
|
}
|