Add volumes for themes, extensions, and storage in Paymenter template

Added additional volumes to the Paymenter service in docker-compose:

- Added themes volume for theme storage
- Added extensions volume for external extensions
- Added app_storage_public for public storage path

These changes allow you to store extensions, themes and some images without issues(they were deleted on restart before)
This commit is contained in:
majcek210 2025-11-22 11:24:16 +01:00 committed by GitHub
parent 5b850ba563
commit e0708107e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,56 +7,65 @@
services:
paymenter:
image: ghcr.io/paymenter/paymenter:latest
image: 'ghcr.io/paymenter/paymenter:latest'
volumes:
- app_logs:/app/storage/logs
- app_public:/app/storage/public
- 'app_logs:/app/storage/logs'
- 'app_public:/app/storage/public'
- 'extenstions:/app/extensions'
- 'themes:/app/themes'
- 'app_storage_public:/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}
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}
REDIS_PASSWORD: '${SERVICE_PASSWORD_64_REDIS}'
DB_CONNECTION: mariadb
DB_HOST: mariadb
DB_PORT: 3306
APP_KEY: ${SERVICE_BASE64_KEY}
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"]
test:
- CMD-SHELL
- 'curl -sf http://localhost:80 || exit 1'
interval: 10s
timeout: 1s
retries: 3
mariadb:
image: mariadb:11
image: 'mariadb:11'
volumes:
- paymenter_mariadb_data:/var/lib/mysql
- '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}
- '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"]
test:
- CMD
- healthcheck.sh
- '--connect'
- '--innodb_initialized'
interval: 5s
timeout: 20s
retries: 10
redis:
image: redis:alpine
image: 'redis:alpine'
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
test:
- CMD-SHELL
- 'redis-cli ping || exit 1'
interval: 10s
timeout: 1s
retries: 3