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