forked from fleetbase/fleetbase
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
115 lines (108 loc) · 3.11 KB
/
docker-compose.yml
File metadata and controls
115 lines (108 loc) · 3.11 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
services:
cache:
image: redis:4-alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
database:
image: mysql:8.0-oracle
restart: unless-stopped
ports:
- "3306:3306"
volumes:
- "./docker/database/:/docker-entrypoint-initdb.d/"
- "./docker/database/mysql:/var/lib/mysql"
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
MYSQL_DATABASE: "fleetbase"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
socket:
image: socketcluster/socketcluster:v17.4.0
platform: linux/amd64
restart: unless-stopped
ports:
- "38000:8000"
environment:
SOCKETCLUSTER_WORKERS: 10
SOCKETCLUSTER_BROKERS: 10
# SOCKETCLUSTER_OPTIONS can be set via docker-compose.override.yml for specific environments
# For production, use: SOCKETCLUSTER_OPTIONS: '{"origins":"https://yourdomain.com:*"}'
# For development, use: SOCKETCLUSTER_OPTIONS: '{"origins":"http://localhost:*"}'
scheduler:
image: fleetbase/fleetbase-api:latest
command: ["go-crond", "--verbose", "root:./crontab"]
restart: unless-stopped
environment:
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
depends_on:
- database
- cache
queue:
image: fleetbase/fleetbase-api:latest
command: ["php", "artisan", "queue:work"]
restart: unless-stopped
healthcheck:
test: ["CMD", "php", "artisan", "queue:status"]
interval: 30s
timeout: 10s
retries: 3
environment:
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
depends_on:
- database
- cache
console:
image: fleetbase/fleetbase-console:latest
ports:
- "4200:4200"
volumes:
- ./console/fleetbase.config.json:/usr/share/nginx/html/fleetbase.config.json
application:
image: fleetbase/fleetbase-api:latest
volumes:
- ./api/.env:/fleetbase/api/.env
environment:
ENVIRONMENT: development
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
SESSION_DOMAIN: localhost
BROADCAST_DRIVER: socketcluster
MAIL_FROM_NAME: Fleetbase
APP_NAME: Fleetbase
LOG_CHANNEL: daily
REGISTRY_HOST: https://registry.fleetbase.io
REGISTRY_PREINSTALLED_EXTENSIONS: 'true'
OSRM_HOST: https://router.project-osrm.org
depends_on:
- database
- cache
- queue
httpd:
build:
context: .
dockerfile: docker/httpd/Dockerfile
ports:
- "8000:80"
depends_on:
- application