2
2
# slogan: AFFiNE is an open-source, all-in-one workspace and OS for knowledge management, a Notion/Miro alternative.
3
3
# tags: knowledge-management,notion,miro,workspace
4
4
# logo: svgs/affine.svg
5
+ # port: 3010
5
6
6
7
services :
7
8
affine :
8
- image : ' ghcr.io/toeverything/affine-graphql:stable'
9
+ image : ghcr.io/toeverything/affine-graphql:stable
9
10
command :
10
11
- sh
11
12
- ' -c'
12
13
- ' node ./scripts/self-host-predeploy && node ./dist/index.js'
13
14
ports :
14
- - ' :3010'
15
- - ' :5555'
15
+ - ${AFFINE_PORT:-55555}:5555
16
16
depends_on :
17
17
redis :
18
- condition : service_healthy
18
+ condition : service_healthy
19
19
postgres :
20
20
condition : service_healthy
21
21
volumes :
22
- - ' ~/. affine/self-host/ config:/root/.affine/config'
23
- - ' ~/. affine/self-host/ storage:/root/.affine/storage'
22
+ - affine- config:/root/.affine/config
23
+ - affine- storage:/root/.affine/storage
24
24
logging :
25
25
driver : json-file
26
26
options :
27
27
max-size : 1000m
28
28
environment :
29
- - SERVICE_FQDN_AFFINE
30
- - ' NODE_OPTIONS=" --import=./scripts/register.js" '
29
+ - SERVICE_FQDN_AFFINE_3010
30
+ - NODE_OPTIONS=--import=./scripts/register.js
31
31
- AFFINE_CONFIG_PATH=/root/.affine/config
32
32
- REDIS_SERVER_HOST=redis
33
- - ' DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}'
33
+ - DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}
34
34
- NODE_ENV=production
35
35
- AFFINE_SERVER_HOST=$SERVICE_FQDN_AFFINE
36
36
- AFFINE_SERVER_EXTERNAL_URL=$SERVICE_FQDN_AFFINE
37
- - MAILER_HOST=$MAILER_HOST
38
- - MAILER_PORT=$MAILER_PORT
39
- - MAILER_USER=$MAILER_USER
40
- - MAILER_PASSWORD=$MAILER_PASSWORD
41
- - MAILER_SENDER=$MAILER_SENDER
37
+ - MAILER_HOST=${MAILER_HOST}
38
+ - MAILER_PORT=${MAILER_PORT}
39
+ - MAILER_USER=${MAILER_USER}
40
+ - MAILER_PASSWORD=${MAILER_PASSWORD}
41
+ - MAILER_SENDER=${MAILER_SENDER}
42
+ healthcheck :
43
+ test : ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1"]
44
+ interval : 5s
45
+ timeout : 20s
46
+ retries : 3
47
+
42
48
redis :
43
49
image : redis
44
50
volumes :
45
- - ' ~/. affine/self-host/ redis:/data'
51
+ - affine- redis-data :/data
46
52
healthcheck :
47
53
test :
48
54
- CMD
@@ -54,9 +60,9 @@ services:
54
60
timeout : 5s
55
61
retries : 5
56
62
postgres :
57
- image : postgres
63
+ image : postgres:16
58
64
volumes :
59
- - ' ~/. affine/self-host/ postgres:/var/lib/postgresql/data'
65
+ - affine- postgres-data :/var/lib/postgresql/data
60
66
healthcheck :
61
67
test :
62
68
- CMD-SHELL
@@ -65,7 +71,7 @@ services:
65
71
timeout : 5s
66
72
retries : 5
67
73
environment :
68
- - POSTGRES_USER=$SERVICE_USER_POSTGRES
69
- - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
70
- - ' POSTGRES_DB=${POSTGRES_DB:-affine}'
74
+ - POSTGRES_USER=${ SERVICE_USER_POSTGRES}
75
+ - POSTGRES_PASSWORD=${ SERVICE_PASSWORD_POSTGRES}
76
+ - POSTGRES_DB=${POSTGRES_DB:-affine}
71
77
- PGDATA=/var/lib/postgresql/data/pgdata
0 commit comments