55 lines
1.7 KiB
Django/Jinja
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
|