# 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 healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:80 || exit 1"] interval: 10s timeout: 1s retries: 3 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} 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