71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
# documentation: https://paymenter.org/docs/guides/docker
|
|
# slogan: Open-Source Billing, Built for Hosting
|
|
# category: cms
|
|
# tags: automation, billing, open source
|
|
# logo: svgs/paymenter.svg
|
|
# port: 80
|
|
|
|
services:
|
|
paymenter:
|
|
image: 'ghcr.io/paymenter/paymenter:v1.4.5'
|
|
volumes:
|
|
- 'app_logs:/app/storage/logs'
|
|
- 'extenstions:/app/extensions'
|
|
- 'themes:/app/themes'
|
|
- 'app_storage:/app/storage/app'
|
|
- 'app_public_storage:/app/storage/app/public'
|
|
environment:
|
|
SERVICE_URL_PAYMENTER: '${SERVICE_URL_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.8'
|
|
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
|