]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
Merge remote-tracking branch 'weblate/master'
[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_alpha
17       - lemmy_beta
18       - pictrs_beta
19       - lemmy_gamma
20       - pictrs_gamma
21       - iframely
22
23   lemmy_alpha:
24     image: lemmy-federation:latest
25     environment:
26       - LEMMY_HOSTNAME=lemmy_alpha:8540
27       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
28       - LEMMY_JWT_SECRET=changeme
29       - LEMMY_FRONT_END_DIR=/app/dist
30       - LEMMY_FEDERATION__ENABLED=true
31       - LEMMY_FEDERATION__TLS_ENABLED=false
32       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_beta,lemmy_gamma
33       - LEMMY_PORT=8540
34       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
35       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
36       - LEMMY_SETUP__SITE_NAME=lemmy_alpha
37       - RUST_BACKTRACE=1
38       - RUST_LOG=debug
39     depends_on:
40       - postgres_alpha
41   postgres_alpha:
42     image: postgres:12-alpine
43     environment:
44       - POSTGRES_USER=lemmy
45       - POSTGRES_PASSWORD=password
46       - POSTGRES_DB=lemmy
47     volumes:
48       - ./volumes/postgres_alpha:/var/lib/postgresql/data
49   pictrs_alpha:
50     image: asonix/pictrs:v0.1.13-r0
51     user: 991:991
52     volumes:
53       - ./volumes/pictrs_alpha:/mnt
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   pictrs_beta:
82     image: asonix/pictrs:v0.1.13-r0
83     user: 991:991
84     volumes:
85       - ./volumes/pictrs_beta:/mnt
86
87   lemmy_gamma:
88     image: lemmy-federation:latest
89     environment:
90       - LEMMY_HOSTNAME=lemmy_gamma:8560
91       - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
92       - LEMMY_JWT_SECRET=changeme
93       - LEMMY_FRONT_END_DIR=/app/dist
94       - LEMMY_FEDERATION__ENABLED=true
95       - LEMMY_FEDERATION__TLS_ENABLED=false
96       - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_beta
97       - LEMMY_PORT=8560
98       - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
99       - LEMMY_SETUP__ADMIN_PASSWORD=lemmy
100       - LEMMY_SETUP__SITE_NAME=lemmy_gamma
101       - RUST_BACKTRACE=1
102       - RUST_LOG=debug
103     depends_on:
104       - postgres_gamma
105   postgres_gamma:
106     image: postgres:12-alpine
107     environment:
108       - POSTGRES_USER=lemmy
109       - POSTGRES_PASSWORD=password
110       - POSTGRES_DB=lemmy
111     volumes:
112       - ./volumes/postgres_gamma:/var/lib/postgresql/data
113   pictrs_gamma:
114     image: asonix/pictrs:v0.1.13-r0
115     user: 991:991
116     volumes:
117       - ./volumes/pictrs_gamma:/mnt
118
119   iframely:
120     image: jolt/iframely:v1.4.3
121     volumes:
122       - ../iframely.config.local.js:/iframely/config.local.js:ro