-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.fleet.yml
More file actions
81 lines (77 loc) · 2.35 KB
/
docker-compose.fleet.yml
File metadata and controls
81 lines (77 loc) · 2.35 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
# CashPilot Fleet - Multi-server deployment example
# https://github.com/GeiserX/CashPilot
#
# Deploy the UI + a local worker on your main server.
# Then deploy workers on each additional server using their own docker-compose.
#
# UI: Full dashboard + earnings collection (no Docker socket needed)
# Workers: Agents with Docker socket that manage containers and report to UI
# === Deploy on main server (e.g., server-a) ===
services:
cashpilot-ui:
image: drumsergio/cashpilot:latest
container_name: cashpilot-ui
ports:
- "8080:8080"
volumes:
- cashpilot_data:/data
environment:
- TZ=${TZ:-UTC}
- CASHPILOT_SECRET_KEY=${CASHPILOT_SECRET_KEY}
- CASHPILOT_API_KEY=${CASHPILOT_API_KEY}
init: true
restart: unless-stopped
security_opt:
- no-new-privileges:true
tmpfs:
- /tmp:size=64M
cashpilot-worker:
image: drumsergio/cashpilot-worker:latest
container_name: cashpilot-worker
ports:
- "8081:8081"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- cashpilot_worker_data:/data
environment:
- TZ=${TZ:-UTC}
- CASHPILOT_UI_URL=http://cashpilot-ui:8080
- CASHPILOT_API_KEY=${CASHPILOT_API_KEY}
- CASHPILOT_WORKER_NAME=server-a
# CASHPILOT_WORKER_URL: override auto-detected URL if the UI can't reach the default
init: true
restart: unless-stopped
security_opt:
- no-new-privileges:true
tmpfs:
- /tmp:size=64M
# === Deploy on each remote server (e.g., server-b, server-c) ===
# Copy this to a separate docker-compose.yml on each worker server:
#
# services:
# cashpilot-worker:
# image: drumsergio/cashpilot-worker:latest
# container_name: cashpilot-worker
# ports:
# - "8081:8081"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# - cashpilot_worker_data:/data
# environment:
# - TZ=${TZ:-UTC}
# - CASHPILOT_UI_URL=http://server-a:8080
# - CASHPILOT_API_KEY=${CASHPILOT_API_KEY}
# - CASHPILOT_WORKER_NAME=server-b
# - CASHPILOT_WORKER_URL=http://server-b:8081 # URL the UI uses to reach this worker
# init: true
# restart: unless-stopped
# security_opt:
# - no-new-privileges:true
# tmpfs:
# - /tmp:size=64M
#
# volumes:
# cashpilot_worker_data:
volumes:
cashpilot_data:
cashpilot_worker_data: