splitpro/templates/compose.yml.j2
2026-10-11 01:00:37 +02:00

55 lines
1.7 KiB
Django/Jinja

services:
splitpro:
image: "ossapps/splitpro:{{ splitpro.version }}"
environment:
AUTHENTIK_ID: "{{ splitpro.oidc.client_id }}"
AUTHENTIK_SECRET: "{{ splitpro.oidc.client_secret }}"
AUTHENTIK_ISSUER: "{{ splitpro.oidc.issuer }}"
NEXTAUTH_SECRET: "{{ splitpro.nextauth_secret }}"
DATABASE_URL: "postgresql://postgres:{{ splitpro.db_password }}@splitpro_db"
NEXTAUTH_URL: "https://{{ splitpro.url }}"
HOSTNAME: "0.0.0.0" # Fixes implemenntatiion bug where only hostname would be used to accept connections
DEFAULT_HOMEPAGE: "/balances"
ENABLE_SENDING_INVITES: true
DISABLE_EMAIL_SIGNUP: true
FROM_EMAIL: "{{ splitpro.mail.address }}"
EMAIL_SERVER_HOST: "{{ splitpro.mail.host }}"
EMAIL_SERVER_PORT: 465
EMAIL_SERVER_USER: "{{ splitpro.mail.address }}"
EMAIL_SERVER_PASSWORD: "{{ splitpro.mail.password }}"
networks:
- db
- proxy
depends_on:
- splitpro_db
volumes:
- ./data/splitpro-uploads:/app/uploads
labels:
traefik.enable: true
traefik.http.routers.splitpro.rule: "Host(`{{ splitpro.url }}`)"
traefik.http.routers.splitpro.tls: true
traefik.http.routers.splitpro.tls.certResolver: hetzner
traefik.http.services.splitpro-https.loadbalancer.server.port: 3000
splitpro_db:
image: "ossapps/postgres:{{ splitpro.db_version }}"
environment:
POSTGRES_PASSWORD: "{{ splitpro.db_password }}"
volumes:
- ./data/db:/var/lib/postgresql/data
networks:
- db
restart: always
command: >
postgres
-c shared_preload_libraries=pg_cron
-c cron.database_name=postgres
-c cron.timezone=UTC
networks:
db: {}
proxy:
name: traefik_exposed
external: true