Import a forgejo docker config.
This commit is contained in:
parent
e8b30a1b0f
commit
308889be5f
|
@ -22,13 +22,22 @@
|
|||
"navidrome": {
|
||||
"enable": "true",
|
||||
"provider": "docker",
|
||||
"src": "deluan/navidrome",
|
||||
"ports": [ "4533:4533" ],
|
||||
"volumes": [
|
||||
"/data/docker/navidrome:/data",
|
||||
"/data/music:/music:ro"
|
||||
]
|
||||
}
|
||||
},
|
||||
"forgejo": {
|
||||
"enable": "true",
|
||||
"provider": "docker",
|
||||
"volumes": [
|
||||
"/data/docker/forgejo:/data",
|
||||
],
|
||||
"config": {
|
||||
"db": "postgres",
|
||||
"db_path": "/data/docker/forgejo/postgres",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
|
|
4
main.go
4
main.go
|
@ -100,7 +100,7 @@ func main() {
|
|||
case *os.PathError:
|
||||
// No system config to merge
|
||||
// Rely solely on the user config
|
||||
fmt.Println(" Warning: No system config for service" + name)
|
||||
fmt.Println(" Warning: No system config for service: " + name)
|
||||
default:
|
||||
fmt.Println("Error reading service config: ", err)
|
||||
return
|
||||
|
@ -120,7 +120,7 @@ func main() {
|
|||
config.System.Packages = append(config.System.Packages, s.Packages...)
|
||||
}
|
||||
|
||||
// Generate a config file
|
||||
// Generate service config files
|
||||
for _, f := range s.ConfigFiles {
|
||||
var b strings.Builder
|
||||
f := strings.Split(f, ":")
|
||||
|
|
14
services/forgejo/docker.json
Normal file
14
services/forgejo/docker.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
ports: ["3000:3000", "222:22"],
|
||||
volumes: [
|
||||
"/etc/timezone:/etc/timezone:ro",
|
||||
"/etc/localtime:/etc/localtime:ro",
|
||||
],
|
||||
|
||||
provider: "docker",
|
||||
packages: [],
|
||||
src: "codeberg.org/forgejo/forgejo:10",
|
||||
configFiles: [
|
||||
"forgejo.template:/services/docker/forgejo.json",
|
||||
]
|
||||
}
|
88
services/forgejo/forgejo.template
Normal file
88
services/forgejo/forgejo.template
Normal file
|
@ -0,0 +1,88 @@
|
|||
{
|
||||
"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}}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue