-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
101 lines (95 loc) · 3.01 KB
/
compose.yaml
File metadata and controls
101 lines (95 loc) · 3.01 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
---
name: "terminus"
services:
web:
init: true
image: ghcr.io/usetrmnl/terminus:0.26.0
environment:
HANAMI_PORT: ${HANAMI_PORT}
API_URI: ${API_URI}
DATABASE_URL: postgres://${PG_USER}:${PG_PASSWORD}@database:5432/${PG_DATABASE}
ports:
- "${HANAMI_PORT}:${HANAMI_PORT}"
restart: unless-stopped
volumes:
- web-assets-screens:/app/public/assets/screens
- web-uploads:/app/public/uploads
depends_on:
database:
condition: service_healthy
deploy:
resources:
limits:
memory: 1G
cpus: "1.0"
database:
image: postgres:17.6
environment:
POSTGRES_USER: ${PG_USER}
POSTGRES_DB: ${PG_DATABASE}
POSTGRES_PASSWORD: ${PG_PASSWORD}
ports:
- "${PG_PORT}:${PG_PORT}"
volumes:
- database-data:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${PG_USER} -d ${PG_DATABASE}"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 1G
cpus: "1.0"
# https://offen.github.io/docker-volume-backup/
backup-database-data: &backup_service
image: offen/docker-volume-backup:v2.44.0
environment: &backup_environment
BACKUP_FILENAME: database-data-%Y-%m-%dT%H-%M-%S.tar.gz
BACKUP_LATEST_SYMLINK: database-data-latest.tar.gz
BACKUP_PRUNING_PREFIX: database-data-
BACKUP_RETENTION_DAYS: '14'
AGE_PUBLIC_KEYS: "${AGE_PUBLIC_KEYS}"
BACKUP_STOP_DURING_BACKUP_LABEL: service
volumes:
- database-data:/backup/my-app-backup:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /mnt/storage/backup/terminus:/archive
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
backup-web-asset-screens:
<<: *backup_service
# image: offen/docker-volume-backup:v2.43.4
environment:
<<: *backup_environment
BACKUP_FILENAME: web-asset-screens-%Y-%m-%dT%H-%M-%S.tar.gz
BACKUP_LATEST_SYMLINK: web-asset-screens-latest.tar.gz
BACKUP_PRUNING_PREFIX: web-asset-screens-
# BACKUP_RETENTION_DAYS: '14'
# AGE_PUBLIC_KEYS: "${AGE_PUBLIC_KEYS}"
# BACKUP_STOP_DURING_BACKUP_LABEL: service
volumes:
- web-assets-screens:/backup/my-app-backup:ro
- /mnt/storage/backup/terminus:/archive
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
backup-web-uploads:
<<: *backup_service
environment:
<<: *backup_environment
BACKUP_FILENAME: web-uploads-%Y-%m-%dT%H-%M-%S.tar.gz
BACKUP_LATEST_SYMLINK: web-uploads-latest.tar.gz
BACKUP_PRUNING_PREFIX: web-uploads-
volumes:
- web-uploads:/backup/my-app-backup:ro
- /mnt/storage/backup/terminus:/archive
- /var/run/docker.sock:/var/run/docker.sock:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
volumes:
database-data:
web-assets-screens:
web-uploads: