-
Notifications
You must be signed in to change notification settings - Fork 54
/
docker-compose.dev.yml
106 lines (101 loc) · 3.73 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
services:
advisingapp.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}'
MEETING_CENTER_QUEUE: '${MEETING_CENTER_QUEUE:-meeting-center}'
IMPORT_EXPORT_QUEUE: '${IMPORT_EXPORT_QUEUE:-import-export}'
FIX_PERMISSIONS: '${FIX_PERMISSIONS:-true}'
labels:
- "traefik.enable=true"
- "traefik.http.routers.advisingapp-app.rule=HostRegexp(`advisingapp.local`, `{subdomain:[a-z0-9]+}.advisingapp.local`)"
- "traefik.http.routers.advisingapp-app.entrypoints=websecure"
- "traefik.http.routers.advisingapp-app.tls=true"
- "traefik.http.services.advisingapp-app.loadbalancer.server.port=443"
- "traefik.http.services.advisingapp-app.loadbalancer.server.scheme=https"
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- '.:/var/www/html'
networks:
cgbs-development:
ipv4_address: 172.16.1.3
dns:
- 172.16.1.1
depends_on:
- advisingapp-redis
- advisingapp-mailpit
- advisingapp-pgsql
advisingapp-redis:
image: 'redis:alpine'
ports:
- '${FORWARD_REDIS_PORT:-63791}:6379'
volumes:
- 'advisingapp-redis:/data'
networks:
- cgbs-development
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
retries: 3
timeout: 5s
advisingapp-mailpit:
image: 'axllent/mailpit:latest'
networks:
- cgbs-development
labels:
- "traefik.enable=true"
- "traefik.http.routers.advisingapp-mailpit.rule=Host(`mail.tools.advisingapp.local`)"
- "traefik.http.routers.advisingapp-mailpit.entrypoints=websecure"
- "traefik.http.routers.advisingapp-mailpit.tls=true"
- "traefik.http.services.advisingapp-mailpit.loadbalancer.server.port=8025"
- "traefik.http.services.advisingapp-mailpit.loadbalancer.server.scheme=http"
advisingapp-pgsql:
image: 'postgres:15'
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE}'
POSTGRES_USER: '${DB_USERNAME}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
- 'advisingapp-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:
advisingapp-redis:
driver: local
advisingapp-pgsql:
driver: local