62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
# documentation: https://paymenter.org/docs/guides/docker
|
|
# slogan: Open-Source Billing, Built for Hosting
|
|
# tags: automation, billing, open source
|
|
# logo: svgs/paymenter.svg
|
|
# port: 80
|
|
|
|
services:
|
|
paymenter:
|
|
image: ghcr.io/paymenter/paymenter:latest
|
|
volumes:
|
|
- app_logs:/app/storage/logs
|
|
- app_public:/app/storage/public
|
|
environment:
|
|
SERVICE_FQDN_PAYMENTER: ${SERVICE_FQDN_PAYMENTER_80}
|
|
DB_DATABASE: ${MYSQL_DATABASE:-paymenter-db}
|
|
DB_PASSWORD: ${SERVICE_PASSWORD_MYSQL}
|
|
DB_USERNAME: ${SERVICE_USER_MYSQL}
|
|
APP_ENV: production
|
|
CACHE_STORE: redis
|
|
SESSION_DRIVER: redis
|
|
QUEUE_CONNECTION: redis
|
|
REDIS_HOST: redis
|
|
REDIS_USERNAME: default
|
|
REDIS_PASSWORD: ${SERVICE_PASSWORD_64_REDIS}
|
|
DB_CONNECTION: mariadb
|
|
DB_HOST: mariadb
|
|
DB_PORT: 3306
|
|
APP_KEY: ${SERVICE_BASE64_KEY}
|
|
depends_on:
|
|
mariadb:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:80 || exit 1"]
|
|
interval: 10s
|
|
timeout: 1s
|
|
retries: 3
|
|
|
|
mariadb:
|
|
image: mariadb:11
|
|
volumes:
|
|
- paymenter_mariadb_data:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-paymenter-db}
|
|
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
|
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
|
|
interval: 10s
|
|
timeout: 1s
|
|
retries: 3
|