# 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: database: image: mariadb:10.11 command: --default-authentication-plugin=mysql_native_password volumes: - "mysql:/var/lib/mysql" healthcheck: test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized || exit 1"] start_period: 10s interval: 10s timeout: 1s retries: 3 environment: MYSQL_PASSWORD: ${SERVICE_PASSWORD_MYSQL} MYSQL_ROOT_PASSWORD: ${SERVICE_PASSWORD_MYSQLROOT} MYSQL_DATABASE: "paymenter" MYSQL_USER: "paymenter" cache: image: redis:alpine environment: - 'REDIS_PASSWORD=${SERVICE_PASSWORD_64_REDIS}' healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] interval: 10s timeout: 1s retries: 3 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}' DB_PASSWORD: ${SERVICE_PASSWORD_MYSQL} APP_ENV: "production" CACHE_STORE: "redis" SESSION_DRIVER: "redis" QUEUE_CONNECTION: "redis" REDIS_HOST: "cache" REDIS_USERNAME: default REDIS_PASSWORD: '${SERVICE_PASSWORD_64_REDIS}' DB_CONNECTION: "mariadb" DB_HOST: "database" DB_PORT: "3306" APP_KEY: ${SERVICE_BASE64_KEY}