universo-platform-2d
60 строк · 1.8 Кб
1services:
2affine:
3image: ghcr.io/toeverything/affine-graphql:stable
4container_name: affine_selfhosted
5command:
6['sh', '-c', 'node ./scripts/self-host-predeploy && node ./dist/index.js']
7ports:
8- '3010:3010'
9- '5555:5555'
10depends_on:
11redis:
12condition: service_healthy
13postgres:
14condition: service_healthy
15volumes:
16# custom configurations
17- ~/.affine/self-host/config:/root/.affine/config
18# blob storage
19- ~/.affine/self-host/storage:/root/.affine/storage
20logging:
21driver: 'json-file'
22options:
23max-size: '1000m'
24restart: unless-stopped
25environment:
26- NODE_OPTIONS="--import=./scripts/register.js"
27- AFFINE_CONFIG_PATH=/root/.affine/config
28- REDIS_SERVER_HOST=redis
29- DATABASE_URL=postgres://affine:affine@postgres:5432/affine
30- NODE_ENV=production
31# Telemetry allows us to collect data on how you use the affine. This data will helps us improve the app and provide better features.
32# Uncomment next line if you wish to quit telemetry.
33# - TELEMETRY_ENABLE=false
34redis:
35image: redis
36container_name: affine_redis
37restart: unless-stopped
38volumes:
39- ~/.affine/self-host/redis:/data
40healthcheck:
41test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
42interval: 10s
43timeout: 5s
44retries: 5
45postgres:
46image: postgres:16
47container_name: affine_postgres
48restart: unless-stopped
49volumes:
50- ~/.affine/self-host/postgres:/var/lib/postgresql/data
51healthcheck:
52test: ['CMD-SHELL', 'pg_isready -U affine']
53interval: 10s
54timeout: 5s
55retries: 5
56environment:
57POSTGRES_USER: affine
58POSTGRES_PASSWORD: affine
59POSTGRES_DB: affine
60PGDATA: /var/lib/postgresql/data/pgdata
61