app-store/apps/haven/docker-compose.yml

76 lines
2.4 KiB
YAML
Raw Normal View History

version: "3.7"
2022-09-29 22:13:54 +00:00
services:
haven:
image: ghcr.io/havenweb/haven:a0280ce
container_name: haven
depends_on:
- haven-db
ports:
- ${APP_PORT}:3000
volumes:
- ${APP_DATA_DIR}/data/storage:/storage
environment:
- RAILS_ENV=production
- HAVEN_DB_HOST=haven-db
- HAVEN_DB_NAME=haven
- HAVEN_DB_ROLE=haven
- HAVEN_DB_PASSWORD=${HAVEN_DB_PASSWORD}
- HAVEN_USER_EMAIL=${HAVEN_USER_EMAIL}
- HAVEN_USER_PASS=${HAVEN_USER_PASSWORD}
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.haven-web-redirect.redirectscheme.scheme: https
traefik.http.services.haven.loadbalancer.server.port: 3000
# Web
traefik.http.routers.haven-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.haven-insecure.entrypoints: web
traefik.http.routers.haven-insecure.service: haven
traefik.http.routers.haven-insecure.middlewares: haven-web-redirect
# Websecure
2022-09-29 22:13:54 +00:00
traefik.http.routers.haven.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.haven.entrypoints: websecure
traefik.http.routers.haven.service: haven
traefik.http.routers.haven.tls.certresolver: myresolver
# Local domain
traefik.http.routers.haven-local-insecure.rule: Host(`haven.${LOCAL_DOMAIN}`)
traefik.http.routers.haven-local-insecure.entrypoints: web
traefik.http.routers.haven-local-insecure.service: haven
traefik.http.routers.haven-local-insecure.middlewares: haven-web-redirect
# Local domain secure
traefik.http.routers.haven-local.rule: Host(`haven.${LOCAL_DOMAIN}`)
traefik.http.routers.haven-local.entrypoints: websecure
traefik.http.routers.haven-local.service: haven
traefik.http.routers.haven-local.tls: true
2022-09-29 22:13:54 +00:00
haven-db:
image: postgres:13.2-alpine
container_name: haven-db
command:
[
"postgres",
"-c",
"max_connections=1000",
"-c",
"synchronous_commit=off",
"-c",
"fsync=off",
"-c",
"full_page_writes=off",
"-c",
"max_wal_size=4GB",
"-c",
"checkpoint_timeout=30min",
"-c",
"wal_level=logical",
]
2022-09-29 22:13:54 +00:00
environment:
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_USER: haven
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
networks:
- tipi_main_network