]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
Federation async (#848)
[lemmy.git] / docker / federation / docker-compose.yml
1 version: '3.3'
2
3 services:
4   nginx:
5     image: nginx:1.17-alpine
6     ports:
7       - "8540:8540"
8       - "8550:8550"
9       - "8560:8560"
10     volumes:
11       # Hack to make this work from both docker/federation/ and docker/federation-test/
12       - ../federation/nginx.conf:/etc/nginx/nginx.conf
13     restart: on-failure
14     depends_on:
15       - lemmy-alpha
16       - pictrs
17       - lemmy-beta
18       - lemmy-gamma
19       - iframely
20
21   pictrs:
22     restart: always
23     image: asonix/pictrs:v0.1.13-r0
24     user: 991:991
25     volumes:
26       - ./volumes/pictrs_alpha:/mnt
27
28   lemmy-alpha:
29     image: lemmy-federation:latest
30     environment:
31       - LEMMY_HOSTNAME=lemmy-alpha:8540
32       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
33       - LEMMY_JWT_SECRET=changeme
34       - LEMMY_FRONT_END_DIR=/app/dist
35       - LEMMY_FEDERATION__ENABLED=true
36       - LEMMY_FEDERATION__TLS_ENABLED=false
37       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma
38       - LEMMY_PORT=8540
39       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
40       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
41       - LEMMY_SETUP__SITE_NAME=lemmy-alpha
42       - RUST_BACKTRACE=1
43       - RUST_LOG=debug
44     depends_on:
45       - postgres_alpha
46   postgres_alpha:
47     image: postgres:12-alpine
48     environment:
49       - POSTGRES_USER=lemmy
50       - POSTGRES_PASSWORD=password
51       - POSTGRES_DB=lemmy
52     volumes:
53       - ./volumes/postgres_alpha:/var/lib/postgresql/data
54
55   lemmy-beta:
56     image: lemmy-federation:latest
57     environment:
58       - LEMMY_HOSTNAME=lemmy-beta:8550
59       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
60       - LEMMY_JWT_SECRET=changeme
61       - LEMMY_FRONT_END_DIR=/app/dist
62       - LEMMY_FEDERATION__ENABLED=true
63       - LEMMY_FEDERATION__TLS_ENABLED=false
64       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma
65       - LEMMY_PORT=8550
66       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
67       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
68       - LEMMY_SETUP__SITE_NAME=lemmy-beta
69       - RUST_BACKTRACE=1
70       - RUST_LOG=debug
71     depends_on:
72       - postgres_beta
73   postgres_beta:
74     image: postgres:12-alpine
75     environment:
76       - POSTGRES_USER=lemmy
77       - POSTGRES_PASSWORD=password
78       - POSTGRES_DB=lemmy
79     volumes:
80       - ./volumes/postgres_beta:/var/lib/postgresql/data
81
82   lemmy-gamma:
83     image: lemmy-federation:latest
84     environment:
85       - LEMMY_HOSTNAME=lemmy-gamma:8560
86       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
87       - LEMMY_JWT_SECRET=changeme
88       - LEMMY_FRONT_END_DIR=/app/dist
89       - LEMMY_FEDERATION__ENABLED=true
90       - LEMMY_FEDERATION__TLS_ENABLED=false
91       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta
92       - LEMMY_PORT=8560
93       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
94       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
95       - LEMMY_SETUP__SITE_NAME=lemmy-gamma
96       - RUST_BACKTRACE=1
97       - RUST_LOG=debug
98     depends_on:
99       - postgres_gamma
100   postgres_gamma:
101     image: postgres:12-alpine
102     environment:
103       - POSTGRES_USER=lemmy
104       - POSTGRES_PASSWORD=password
105       - POSTGRES_DB=lemmy
106     volumes:
107       - ./volumes/postgres_gamma:/var/lib/postgresql/data
108
109   iframely:
110     image: dogbin/iframely:latest
111     volumes:
112       - ../iframely.config.local.js:/iframely/config.local.js:ro