-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
65 lines (60 loc) · 1.67 KB
/
Copy pathdocker-compose.yml
File metadata and controls
65 lines (60 loc) · 1.67 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
# Standalone Docker Compose deployment for s3-server + update sidecar
# Docs: https://hermes-agent.nousresearch.com/docs
#
# Auto-update defaults to ON. Toggle: touch /state/autoupdate.disabled
# Manual: touch /state/update.trigger Logs: /state/updater.log
name: s3-deployment
services:
s3-server:
image: ghcr.io/lumeweb/s3-server:latest
restart: unless-stopped
ports:
- "80:8080"
volumes:
- s3-data:/data
- s3-state:/state
networks:
- frontend
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://localhost:8080/_panel/healthz || exit 1"]
interval: 10s
timeout: 5s
retries: 6
start_period: 30s
updater:
image: ghcr.io/lumeweb/s3-server-updater:latest
restart: unless-stopped
depends_on:
s3-server:
condition: service_healthy
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
cap_add:
- CHOWN
- SETUID
- SETGID
group_add:
- "${DOCKER_GID:?set DOCKER_GID to host docker group id (getent group docker | cut -d: -f3)}"
environment:
- UPDATE_INTERVAL=21600 # 6 hours in seconds
- UPDATER_PROJECT_DIR=/opt/s3-server
- COMPOSE_SERVICE=s3-server
- DOCKER_GID=${DOCKER_GID}
volumes:
- /var/run/docker.sock:/var/run/docker.sock # grants host root; accepted risk
- ./:/opt/s3-server:ro # compose file for sidecar
- s3-state:/state # shared flag-file channel
networks:
- frontend
- backend
volumes:
s3-data:
s3-state:
networks:
frontend:
driver: bridge
backend:
driver: bridge
internal: true