]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
Merge branch 'main' into federated-moderation
[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       - "8570:8570"
11       - "8580:8580"
12     volumes:
13       - ./nginx.conf:/etc/nginx/nginx.conf
14     restart: on-failure
15     depends_on:
16       - pictrs
17       - iframely
18       - lemmy-alpha-ui
19       - lemmy-beta-ui
20       - lemmy-gamma-ui
21       - lemmy-delta-ui
22       - lemmy-epsilon-ui
23
24   pictrs:
25     restart: always
26     image: asonix/pictrs:v0.2.6-r1
27     user: 991:991
28     volumes:
29       - ./volumes/pictrs_alpha:/mnt
30
31   lemmy-alpha-ui:
32 <<<<<<< HEAD
33     image: lemmy-ui:test
34 =======
35     image: dessalines/lemmy-ui:0.10.0-rc.5
36 >>>>>>> main
37     environment:
38       - LEMMY_INTERNAL_HOST=lemmy-alpha:8541
39       - LEMMY_EXTERNAL_HOST=localhost:8541
40       - LEMMY_HTTPS=false
41     depends_on:
42       - lemmy-alpha
43   lemmy-alpha:
44     image: lemmy-federation:latest
45     volumes:
46       - ./lemmy_alpha.hjson:/config/config.hjson
47     environment:
48       - LEMMY_TEST_SEND_SYNC=1
49       - RUST_BACKTRACE=1
50       - RUST_LOG=debug
51     depends_on:
52       - postgres_alpha
53     ports: 
54       - "8541:8541"
55   postgres_alpha:
56     image: postgres:12-alpine
57     environment:
58       - POSTGRES_USER=lemmy
59       - POSTGRES_PASSWORD=password
60       - POSTGRES_DB=lemmy
61     volumes:
62       - ./volumes/postgres_alpha:/var/lib/postgresql/data
63
64   lemmy-beta-ui:
65 <<<<<<< HEAD
66     image: lemmy-ui:test
67 =======
68     image: dessalines/lemmy-ui:0.10.0-rc.5
69 >>>>>>> main
70     environment:
71       - LEMMY_INTERNAL_HOST=lemmy-beta:8551
72       - LEMMY_EXTERNAL_HOST=localhost:8551
73       - LEMMY_HTTPS=false
74     depends_on:
75       - lemmy-beta
76   lemmy-beta:
77     image: lemmy-federation:latest
78     volumes:
79       - ./lemmy_beta.hjson:/config/config.hjson
80     environment:
81       - LEMMY_TEST_SEND_SYNC=1
82       - RUST_BACKTRACE=1
83       - RUST_LOG=debug
84     depends_on:
85       - postgres_beta
86     ports: 
87       - "8551:8551"
88   postgres_beta:
89     image: postgres:12-alpine
90     environment:
91       - POSTGRES_USER=lemmy
92       - POSTGRES_PASSWORD=password
93       - POSTGRES_DB=lemmy
94     volumes:
95       - ./volumes/postgres_beta:/var/lib/postgresql/data
96
97   lemmy-gamma-ui:
98 <<<<<<< HEAD
99     image: lemmy-ui:test
100 =======
101     image: dessalines/lemmy-ui:0.10.0-rc.5
102 >>>>>>> main
103     environment:
104       - LEMMY_INTERNAL_HOST=lemmy-gamma:8561
105       - LEMMY_EXTERNAL_HOST=localhost:8561
106       - LEMMY_HTTPS=false
107     depends_on:
108       - lemmy-gamma
109   lemmy-gamma:
110     image: lemmy-federation:latest
111     volumes:
112       - ./lemmy_gamma.hjson:/config/config.hjson
113     environment:
114       - LEMMY_TEST_SEND_SYNC=1
115       - RUST_BACKTRACE=1
116       - RUST_LOG=debug
117     depends_on:
118       - postgres_gamma
119     ports: 
120       - "8561:8561"
121   postgres_gamma:
122     image: postgres:12-alpine
123     environment:
124       - POSTGRES_USER=lemmy
125       - POSTGRES_PASSWORD=password
126       - POSTGRES_DB=lemmy
127     volumes:
128       - ./volumes/postgres_gamma:/var/lib/postgresql/data
129
130   # An instance with only an allowlist for beta
131   lemmy-delta-ui:
132     image: dessalines/lemmy-ui:0.10.0-rc.5
133     environment:
134       - LEMMY_INTERNAL_HOST=lemmy-delta:8571
135       - LEMMY_EXTERNAL_HOST=localhost:8571
136       - LEMMY_HTTPS=false
137     depends_on:
138       - lemmy-delta
139   lemmy-delta:
140     image: lemmy-federation:latest
141     volumes:
142       - ./lemmy_delta.hjson:/config/config.hjson
143     environment:
144       - LEMMY_TEST_SEND_SYNC=1
145       - RUST_BACKTRACE=1
146       - RUST_LOG=debug
147     depends_on:
148       - postgres_delta
149     ports: 
150       - "8571:8571"
151   postgres_delta:
152     image: postgres:12-alpine
153     environment:
154       - POSTGRES_USER=lemmy
155       - POSTGRES_PASSWORD=password
156       - POSTGRES_DB=lemmy
157     volumes:
158       - ./volumes/postgres_delta:/var/lib/postgresql/data
159
160   # An instance who has a blocklist, with lemmy-alpha blocked
161   lemmy-epsilon-ui:
162     image: dessalines/lemmy-ui:0.10.0-rc.5
163     environment:
164       - LEMMY_INTERNAL_HOST=lemmy-epsilon:8581
165       - LEMMY_EXTERNAL_HOST=localhost:8581
166       - LEMMY_HTTPS=false
167     depends_on:
168       - lemmy-epsilon
169   lemmy-epsilon:
170     image: lemmy-federation:latest
171     volumes:
172       - ./lemmy_epsilon.hjson:/config/config.hjson
173     environment:
174       - LEMMY_TEST_SEND_SYNC=1
175       - RUST_BACKTRACE=1
176       - RUST_LOG=debug
177     depends_on:
178       - postgres_epsilon
179     ports: 
180       - "8581:8581"
181   postgres_epsilon:
182     image: postgres:12-alpine
183     environment:
184       - POSTGRES_USER=lemmy
185       - POSTGRES_PASSWORD=password
186       - POSTGRES_DB=lemmy
187     volumes:
188       - ./volumes/postgres_epsilon:/var/lib/postgresql/data
189
190   iframely:
191     image: dogbin/iframely:latest
192     volumes:
193       - ../iframely.config.local.js:/iframely/config.local.js:ro
194     restart: always