-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.demo.yml
More file actions
157 lines (148 loc) · 4.26 KB
/
Copy pathdocker-compose.demo.yml
File metadata and controls
157 lines (148 loc) · 4.26 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
name: visitorportal-demo
x-app-image: &app-image "${VISITORPORTAL_IMAGE:-ghcr.io/p0etinc0de/besucherportal:${VISITORPORTAL_VERSION:-latest}}"
x-app-environment: &app-environment
APP_NAME: VisitorPortal
APP_ENV: local
APP_DEBUG: "true"
APP_URL: http://localhost:8080
APP_KEY: "${APP_KEY:-base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=}"
APP_TIMEZONE: Europe/Berlin
APP_LOCALE: de
APP_FALLBACK_LOCALE: en
LOG_CHANNEL: stderr
DB_CONNECTION: mariadb
DB_HOST: db
DB_PORT: "3306"
DB_DATABASE: visitorportal
DB_USERNAME: visitor
DB_PASSWORD: visitor_pw
SESSION_DRIVER: database
CACHE_STORE: database
QUEUE_CONNECTION: database
DB_QUEUE_RETRY_AFTER: "180"
HEALTH_CACHE_STORE: database
HEALTH_QUEUE_STALE_AFTER: "300"
HEALTH_SCHEDULER_STALE_AFTER: "300"
HEALTH_HEARTBEAT_TTL: "600"
BROADCAST_CONNECTION: log
FILESYSTEM_DISK: local
MAIL_MAILER: smtp
MAIL_HOST: mailhog
MAIL_PORT: "1025"
MAIL_FROM_ADDRESS: visitorportal@example.test
MAIL_FROM_NAME: VisitorPortal
BRANDING_NAME: VisitorPortal
BRANDING_LOGO_LIGHT: images/branding/logo-with-text-light.svg
BRANDING_LOGO_DARK: images/branding/logo-with-text-dark.svg
BRANDING_MAIL_LOGO: images/branding/logo-with-text-light.svg
BRANDING_BADGE_LOGO: images/branding/logo-with-text-light.svg
BRANDING_BADGE_DESIGN: standard
BRANDING_BADGE_ACCENT_COLOR: "#ff8a00"
BRANDING_MONITOR_FALLBACK_HEADING: Welcome to VisitorPortal
BRANDING_MONITOR_FALLBACK_SUBHEADING: We're glad you're here.
BRANDING_MONITOR_SLIDE_HEADING: Welcome!
GOTENBERG_URL: http://gotenberg:3000
GITHUB_REPO_URL: https://github.com/P0etInc0de/VisitorPortal
AUTO_MIGRATE: "true"
AUTO_SEED: "true"
FORCE_SEED: "false"
VISITOR_CONTACT_REQUIREMENT: optional
PRIVACY_VISIT_RETENTION_DAYS: "365"
PRIVACY_PURGE_ENABLED: "true"
PRIVACY_SEARCH_RATE_LIMIT_PER_MINUTE: "60"
services:
app:
image: *app-image
restart: unless-stopped
ports:
- "${APP_PORT:-8080}:80"
environment:
<<: *app-environment
RUN_SETUP: "true"
volumes:
- app_storage:/var/www/html/backend/storage
depends_on:
db:
condition: service_healthy
mailhog:
condition: service_started
gotenberg:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1/up"]
interval: 30s
timeout: 5s
retries: 3
start_period: 120s
queue:
image: *app-image
restart: unless-stopped
command: php artisan queue:work --sleep=3 --tries=3 --timeout=120 --max-time=3600 --max-jobs=1000 --memory=128
environment:
<<: *app-environment
RUN_SETUP: "false"
volumes:
- app_storage:/var/www/html/backend/storage
depends_on:
db:
condition: service_healthy
app:
condition: service_healthy
healthcheck:
test: ["CMD", "php", "artisan", "visitorportal:health", "queue"]
interval: 60s
timeout: 10s
retries: 3
start_period: 180s
scheduler:
image: *app-image
restart: unless-stopped
command: php artisan schedule:work
environment:
<<: *app-environment
RUN_SETUP: "false"
volumes:
- app_storage:/var/www/html/backend/storage
depends_on:
db:
condition: service_healthy
app:
condition: service_healthy
healthcheck:
test: ["CMD", "php", "artisan", "visitorportal:health", "scheduler"]
interval: 60s
timeout: 10s
retries: 3
start_period: 180s
db:
image: mariadb:11.4
restart: unless-stopped
environment:
MARIADB_DATABASE: visitorportal
MARIADB_USER: visitor
MARIADB_PASSWORD: visitor_pw
MARIADB_ROOT_PASSWORD: root_pw
volumes:
- dbdata:/var/lib/mysql
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-proot_pw"]
interval: 10s
timeout: 5s
retries: 12
mailhog:
image: mailhog/mailhog:v1.0.1
restart: unless-stopped
ports:
- "${MAILHOG_PORT:-8025}:8025"
gotenberg:
image: gotenberg/gotenberg:8.32.0
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-fsS", "--head", "-o", "/dev/null", "http://127.0.0.1:3000/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
volumes:
app_storage:
dbdata: