-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompose.yml
91 lines (84 loc) · 2.63 KB
/
compose.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
name: misskey
services:
web:
container_name: misskey_web
image: misskey/misskey:2025.1.0@sha256:b49a9020324c5b68398451c566e083481fe2cf8394384afadf74feee5f9edd13
environment:
MISSKEY_URL: $MISSKEY_URL
DATABASE_DB: $DB_DATABASE_NAME
DATABASE_USER: $DB_USERNAME
DATABASE_PASSWORD: $DB_PASSWORD
configs:
- source: misskey_config
target: /misskey/.config/default.yml
depends_on:
database:
condition: service_healthy
redis:
condition: service_healthy
restart: always
database:
container_name: misskey_database
image: postgres:16.6@sha256:c965017e1d29eb03e18a11abc25f5e3cd78cb5ac799d495922264b8489d5a3a1
environment:
POSTGRES_HOST: $DB_HOSTNAME
POSTGRES_DB: $DB_DATABASE_NAME
POSTGRES_USER: $DB_USERNAME
POSTGRES_PASSWORD: $DB_PASSWORD
volumes:
- database:/var/lib/postgresql/data
- backup:/tmp/backup
healthcheck:
test: pg_isready -d '$DB_DATABASE_NAME' -U '$DB_USERNAME' || exit 1
labels:
docker-volume-backup.archive-pre: pg_dump -d '$DB_DATABASE_NAME' -U '$DB_USERNAME' -f /tmp/backup/misskey.sql
restart: always
redis:
container_name: misskey_redis
image: redis:7.2.5-alpine3.19@sha256:8f157725f8eee31e65a8d4765f1f986d76aedc1a0503345dfb63a2b1b5a441ee
healthcheck:
test: redis-cli ping || exit 1
restart: always
backup:
container_name: misskey_backup
image: offen/docker-volume-backup:v2.43.1@sha256:113d0aace06c83519a304e9b9c13fc65ebe2e52f5b027897886c8c0566a23d72
environment:
BACKUP_CRON_EXPRESSION: 0 5 * * *
BACKUP_FILENAME: misskey_%Y%m%d.{{ .Extension }}
BACKUP_SKIP_BACKENDS_FROM_PRUNE: s3
AWS_S3_BUCKET_NAME: $R2_BUCKET_NAME
AWS_S3_PATH: $R2_PATH
BACKUP_RETENTION_DAYS: 7
GPG_PASSPHRASE: $DB_PASSWORD
env_file:
- path: ../.env
required: true
volumes:
- backup:/backup:ro
- $BACKUP_DIR/database:/archive
configs:
- source: docker-socket
target: /var/run/docker.sock
- source: timezone
target: /etc/localtime
depends_on:
database:
condition: service_healthy
restart: always
cloudflare-tunnel:
container_name: misskey_cloudflare-tunnel
image: cloudflare/cloudflared:2025.1.1@sha256:bc2b3edd9eb0257a1a1fc58113e97426afe524e04b898173cd7df01442bcb4b3
command: tunnel --no-autoupdate run
environment:
TUNNEL_TOKEN: $TUNNEL_TOKEN
restart: always
volumes:
database:
backup:
configs:
docker-socket:
file: /var/run/docker.sock
timezone:
file: /etc/localtime
misskey_config:
file: ./config/misskey.yml