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}}