goo/services/forgejo/forgejo.template

71 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}}
restart: always
networks:
- forgejo
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- {{.Volumes.data}}:/data
{{- range .ExtraVolumes}}
- {{.}}
{{- end}}
ports:
- '{{.Ports.web}}:3000'
- '{{.Ports.ssh}}:22'
{{- 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:
- {{.Volumes.db}}:/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:
- {{.Volumes.db}}:/var/lib/postgresql/data
{{- end}}