]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
Fix docker federation setup (#2706)
[lemmy.git] / docker / federation / docker-compose.yml
1 version: '3.3'
2
3 services:
4   nginx:
5     image: nginx:1-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: always
15     depends_on:
16       - pictrs
17       - lemmy-alpha-ui
18       - lemmy-beta-ui
19       - lemmy-gamma-ui
20       - lemmy-delta-ui
21       - lemmy-epsilon-ui
22
23   pictrs:
24     restart: always
25     image: asonix/pictrs:0.3.1
26     user: 991:991
27     volumes:
28       - ./volumes/pictrs_alpha:/mnt
29
30   lemmy-alpha-ui:
31     image: dessalines/lemmy-ui:0.17.1
32     environment:
33       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-alpha:8541
34       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8541
35       - LEMMY_UI_HTTPS=false
36     depends_on:
37       - lemmy-alpha
38   lemmy-alpha:
39     image: lemmy-federation:latest
40     volumes:
41       - ./lemmy_alpha.hjson:/config/config.hjson
42     environment:
43       - RUST_BACKTRACE=1
44       - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
45     depends_on:
46       - postgres_alpha
47     ports: 
48       - "8541:8541"
49   postgres_alpha:
50     image: postgres:15-alpine
51     environment:
52       - POSTGRES_USER=lemmy
53       - POSTGRES_PASSWORD=password
54       - POSTGRES_DB=lemmy
55     restart: always
56     volumes:
57       - ./volumes/postgres_alpha:/var/lib/postgresql/data
58
59   lemmy-beta-ui:
60     image: dessalines/lemmy-ui:0.17.1
61     environment:
62       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-beta:8551
63       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8551
64       - LEMMY_UI_HTTPS=false
65     depends_on:
66       - lemmy-beta
67   lemmy-beta:
68     image: lemmy-federation:latest
69     volumes:
70       - ./lemmy_beta.hjson:/config/config.hjson
71     environment:
72       - RUST_BACKTRACE=1
73       - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
74     depends_on:
75       - postgres_beta
76     ports: 
77       - "8551:8551"
78   postgres_beta:
79     image: postgres:15-alpine
80     environment:
81       - POSTGRES_USER=lemmy
82       - POSTGRES_PASSWORD=password
83       - POSTGRES_DB=lemmy
84     restart: always
85     volumes:
86       - ./volumes/postgres_beta:/var/lib/postgresql/data
87
88   lemmy-gamma-ui:
89     image: dessalines/lemmy-ui:0.17.1
90     environment:
91       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-gamma:8561
92       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8561
93       - LEMMY_UI_HTTPS=false
94     depends_on:
95       - lemmy-gamma
96   lemmy-gamma:
97     image: lemmy-federation:latest
98     volumes:
99       - ./lemmy_gamma.hjson:/config/config.hjson
100     environment:
101       - RUST_BACKTRACE=1
102       - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
103     depends_on:
104       - postgres_gamma
105     ports: 
106       - "8561:8561"
107   postgres_gamma:
108     image: postgres:15-alpine
109     environment:
110       - POSTGRES_USER=lemmy
111       - POSTGRES_PASSWORD=password
112       - POSTGRES_DB=lemmy
113     restart: always
114     volumes:
115       - ./volumes/postgres_gamma:/var/lib/postgresql/data
116
117   # An instance with only an allowlist for beta
118   lemmy-delta-ui:
119     image: dessalines/lemmy-ui:0.17.1
120     environment:
121       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-delta:8571
122       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8571
123       - LEMMY_UI_HTTPS=false
124     depends_on:
125       - lemmy-delta
126   lemmy-delta:
127     image: lemmy-federation:latest
128     volumes:
129       - ./lemmy_delta.hjson:/config/config.hjson
130     environment:
131       - RUST_BACKTRACE=1
132       - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
133     depends_on:
134       - postgres_delta
135     ports: 
136       - "8571:8571"
137   postgres_delta:
138     image: postgres:15-alpine
139     environment:
140       - POSTGRES_USER=lemmy
141       - POSTGRES_PASSWORD=password
142       - POSTGRES_DB=lemmy
143     restart: always
144     volumes:
145       - ./volumes/postgres_delta:/var/lib/postgresql/data
146
147   # An instance who has a blocklist, with lemmy-alpha blocked
148   lemmy-epsilon-ui:
149     image: dessalines/lemmy-ui:0.17.1
150     environment:
151       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-epsilon:8581
152       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8581
153       - LEMMY_UI_HTTPS=false
154     depends_on:
155       - lemmy-epsilon
156   lemmy-epsilon:
157     image: lemmy-federation:latest
158     volumes:
159       - ./lemmy_epsilon.hjson:/config/config.hjson
160     environment:
161       - RUST_BACKTRACE=1
162       - RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=debug,lemmy_db_views=debug,lemmy_db_views_actor=debug,lemmy_db_views_moderator=debug,lemmy_routes=debug,lemmy_utils=debug,lemmy_websocket=debug"
163     depends_on:
164       - postgres_epsilon
165     ports: 
166       - "8581:8581"
167   postgres_epsilon:
168     image: postgres:15-alpine
169     environment:
170       - POSTGRES_USER=lemmy
171       - POSTGRES_PASSWORD=password
172       - POSTGRES_DB=lemmy
173     restart: always
174     volumes:
175       - ./volumes/postgres_epsilon:/var/lib/postgresql/data