forked from Paymenter/Paymenter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.example.yml
More file actions
80 lines (78 loc) · 2.24 KB
/
Copy pathdocker-compose.example.yml
File metadata and controls
80 lines (78 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
x-common:
database: &db-environment
# Do not remove the "&db-password" from the end of the line below, it is important
# for Paymenter functionality.
MYSQL_PASSWORD: &db-password "CHANGE_ME"
MYSQL_ROOT_PASSWORD: "CHANGE_ME_TOO"
#
# ------------------------------------------------------------------------------------------
# DANGER ZONE BELOW
#
# The remainder of this file likely does not need to be changed. Please only make modifications
# below if you understand what you are doing.
#
services:
database:
image: mariadb:lts
restart: always
command: --default-authentication-plugin=mysql_native_password
volumes:
- "./database:/var/lib/mysql"
environment:
<<: *db-environment
MYSQL_DATABASE: "paymenter"
MYSQL_USER: "paymenter"
networks:
- paymenter_nw
cache:
image: redis:alpine
restart: always
networks:
- paymenter_nw
paymenter:
image: ghcr.io/paymenter/paymenter:latest
restart: always
ports:
- "80:80"
volumes:
- "./:/app/var/"
- "./storage/logs:/app/storage/logs"
- "./storage/public:/app/storage/app/public"
- "./themes:/app/themes"
- "./extensions:/app/extensions"
- "app:/app"
environment:
DB_PASSWORD: *db-password
APP_ENV: "production"
CACHE_STORE: "redis"
REDIS_HOST: "cache"
DB_CONNECTION: "mariadb"
DB_HOST: "database"
DB_PORT: "3306"
# Set to "true" to skip renewal of default themes and extensions
# By default, default themes and extensions are always renewed on startup
PAYMENTER_SKIP_DEFAULT: "false"
networks:
- paymenter_nw
# Asset Builder Service - used to build frontend assets (themes/extensions)
asset-builder:
image: node:22-alpine
profiles: ["build"]
working_dir: /app
volumes:
- "./themes:/app/themes"
- "./extensions:/app/extensions"
- "./:/app/var"
- "app:/app"
command: >
sh -c "echo 'Asset Builder ready for npm commands' &&
echo 'Working directory: /app' &&
echo 'Usage: docker compose run --rm asset-builder npm install && npm run build' &&
tail -f /dev/null"
networks:
- paymenter_nw
networks:
paymenter_nw:
driver: bridge
volumes:
app: