-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.dev.yml
140 lines (132 loc) · 5.19 KB
/
docker-compose.dev.yml
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
services:
aidingapp.local:
build:
target: development
args:
TOTAL_QUEUE_WORKERS: '${TOTAL_QUEUE_WORKERS:-1}'
MULTIPLE_DEVELOPMENT_QUEUES: '${MULTIPLE_DEVELOPMENT_QUEUES:-false}'
USER_ID: '${SPIN_USER_ID:-9999}'
GROUP_ID: '${SPIN_GROUP_ID:-9999}'
environment:
SSL_MODE: "mixed"
LANDLORD_MIGRATE: '${LANDLORD_MIGRATE:-true}'
TENANT_MIGRATE: '${TENANT_MIGRATE:-true}'
LARAVEL_SCHEDULER_ENABLED: '${LARAVEL_SCHEDULER_ENABLED:-true}'
LARAVEL_QUEUE_ENABLED: '${LARAVEL_QUEUE_ENABLED:-true}'
LARAVEL_OCTANE_WATCH: '${LARAVEL_OCTANE_WATCH:-false}'
CACHE_MODULES: '${CACHE_MODULES:-false}'
CACHE_CONFIG: '${CACHE_CONFIG:-false}'
CACHE_ROUTES: '${CACHE_ROUTES:-false}'
CACHE_VIEWS: '${CACHE_VIEWS:-false}'
CACHE_EVENTS: '${CACHE_EVENTS:-false}'
CACHE_ICONS: '${CACHE_ICONS:-false}'
CACHE_FILAMENT_COMPONENTS: '${CACHE_FILAMENT_COMPONENTS:-false}'
PUID: '${SPIN_USER_ID:-9999}'
PGID: '${SPIN_GROUP_ID:-9999}'
SQS_QUEUE: '${SQS_QUEUE:-default}'
LANDLORD_SQS_QUEUE: '${LANDLORD_SQS_QUEUE:-landlord}'
OUTBOUND_COMMUNICATION_QUEUE: '${OUTBOUND_COMMUNICATION_QUEUE:-outbound-communication}'
AUDIT_QUEUE_QUEUE: '${AUDIT_QUEUE_QUEUE:-audit}'
IMPORT_EXPORT_QUEUE: '${IMPORT_EXPORT_QUEUE:-import-export}'
BUILD_ASSETS: '${BUILD_ASSETS:-false}'
FIX_PERMISSIONS: '${FIX_PERMISSIONS:-true}'
labels:
- "traefik.enable=true"
- "traefik.http.routers.aidingapp-app.rule=HostRegexp(`aidingapp.local`, `{subdomain:[a-z0-9]+}.aidingapp.local`)"
- "traefik.http.routers.aidingapp-app.entrypoints=websecure"
- "traefik.http.routers.aidingapp-app.tls=true"
- "traefik.http.services.aidingapp-app.loadbalancer.server.port=443"
- "traefik.http.services.aidingapp-app.loadbalancer.server.scheme=https"
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- '.:/var/www/html'
networks:
cgbs-development:
ipv4_address: 172.16.1.4
dns:
- 172.16.1.1
depends_on:
- aidingapp-redis
- aidingapp-minio
- aidingapp-mailpit
- aidingapp-pgsql
aidingapp-redis:
image: 'redis:alpine'
ports:
- '${FORWARD_REDIS_PORT:-63793}:6379'
volumes:
- 'aidingapp-redis:/data'
networks:
- cgbs-development
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
retries: 3
timeout: 5s
aidingapp-minio:
image: 'minio/minio:RELEASE.2023-07-07T07-13-57Z'
environment:
MINIO_ROOT_USER: aidingapp
MINIO_ROOT_PASSWORD: password
volumes:
- 'aidingapp-minio:/data/minio'
networks:
- cgbs-development
command: 'minio server /data/minio --console-address ":8900"'
healthcheck:
test: [ 'CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live' ]
retries: 3
timeout: 5s
labels:
- "traefik.enable=true"
- "traefik.http.routers.aidingapp-minio-console.rule=Host(`storage.tools.aidingapp.local`)"
- "traefik.http.routers.aidingapp-minio-console.entrypoints=websecure"
- "traefik.http.routers.aidingapp-minio-console.tls=true"
- "traefik.http.routers.aidingapp-minio-console.service=aidingapp-minio-console-service"
- "traefik.http.services.aidingapp-minio-console-service.loadbalancer.server.port=8900"
- "traefik.http.services.aidingapp-minio-console-service.loadbalancer.server.scheme=http"
- "traefik.http.routers.aidingapp-minio.rule=Host(`media.tools.aidingapp.local`, `aidingapp-minio`)"
- "traefik.http.routers.aidingapp-minio.entrypoints=websecure"
- "traefik.http.routers.aidingapp-minio.tls=true"
- "traefik.http.routers.aidingapp-minio.service=aidingapp-minio-service"
- "traefik.http.services.aidingapp-minio-service.loadbalancer.server.port=9000"
- "traefik.http.services.aidingapp-minio-service.loadbalancer.server.scheme=http"
aidingapp-mailpit:
image: 'axllent/mailpit:latest'
networks:
- cgbs-development
labels:
- "traefik.enable=true"
- "traefik.http.routers.aidingapp-mailpit.rule=Host(`mail.tools.aidingapp.local`)"
- "traefik.http.routers.aidingapp-mailpit.entrypoints=websecure"
- "traefik.http.routers.aidingapp-mailpit.tls=true"
- "traefik.http.services.aidingapp-mailpit.loadbalancer.server.port=8025"
- "traefik.http.services.aidingapp-mailpit.loadbalancer.server.scheme=http"
aidingapp-pgsql:
image: 'postgres:15'
ports:
- '${FORWARD_DB_PORT:-5434}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE}'
POSTGRES_USER: '${DB_USERNAME}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
- 'aidingapp-pgsql:/var/lib/postgresql/data'
- './docker/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
networks:
- cgbs-development
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}" ]
retries: 3
timeout: 5s
networks:
cgbs-development:
external: true
volumes:
aidingapp-redis:
driver: local
aidingapp-minio:
driver: local
aidingapp-pgsql:
driver: local