]> Untitled Git - lemmy.git/blob - docker/federation/docker-compose.yml
add enable_federated_downvotes site option
[lemmy.git] / docker / federation / docker-compose.yml
1 version: "3.7"
2
3 x-ui-default: &ui-default
4   init: true
5   image: dessalines/lemmy-ui:0.18.1
6   # assuming lemmy-ui is cloned besides lemmy directory
7   # build:
8   #     context: ../../../lemmy-ui
9   #     dockerfile: dev.dockerfile
10   environment:
11     - LEMMY_UI_HTTPS=false
12
13 x-lemmy-default: &lemmy-default
14   image: lemmy-federation:latest
15   environment:
16     - RUST_BACKTRACE=1
17     - 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"
18   restart: always
19
20 x-postgres-default: &postgres-default
21   image: postgres:15-alpine
22   environment:
23     - POSTGRES_USER=lemmy
24     - POSTGRES_PASSWORD=password
25     - POSTGRES_DB=lemmy
26   restart: always
27
28 services:
29   nginx:
30     image: nginx:1-alpine
31     ports:
32       - "8540:8540"
33       - "8550:8550"
34       - "8560:8560"
35       - "8570:8570"
36       - "8580:8580"
37     volumes:
38       - ./nginx.conf:/etc/nginx/nginx.conf:Z
39     restart: always
40     depends_on:
41       - pictrs
42       - lemmy-alpha-ui
43       - lemmy-beta-ui
44       - lemmy-gamma-ui
45       - lemmy-delta-ui
46       - lemmy-epsilon-ui
47
48   pictrs:
49     restart: always
50     image: asonix/pictrs:0.4.0-beta.19
51     user: 991:991
52     volumes:
53       - ./volumes/pictrs_alpha:/mnt:Z
54
55   lemmy-alpha-ui:
56     <<: *ui-default
57     environment:
58       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-alpha:8541
59       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8541
60     depends_on:
61       - lemmy-alpha
62   lemmy-alpha:
63     <<: *lemmy-default
64     volumes:
65       - ./lemmy_alpha.hjson:/config/config.hjson:Z
66     depends_on:
67       - postgres_alpha
68     ports:
69       - "8541:8541"
70   postgres_alpha:
71     <<: *postgres-default
72     volumes:
73       - ./volumes/postgres_alpha:/var/lib/postgresql/data:Z
74
75   lemmy-beta-ui:
76     <<: *ui-default
77     environment:
78       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-beta:8551
79       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8551
80     depends_on:
81       - lemmy-beta
82   lemmy-beta:
83     <<: *lemmy-default
84     volumes:
85       - ./lemmy_beta.hjson:/config/config.hjson:Z
86     depends_on:
87       - postgres_beta
88     ports:
89       - "8551:8551"
90   postgres_beta:
91     <<: *postgres-default
92     volumes:
93       - ./volumes/postgres_beta:/var/lib/postgresql/data:Z
94
95   lemmy-gamma-ui:
96     <<: *ui-default
97     environment:
98       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-gamma:8561
99       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8561
100     depends_on:
101       - lemmy-gamma
102   lemmy-gamma:
103     <<: *lemmy-default
104     volumes:
105       - ./lemmy_gamma.hjson:/config/config.hjson:Z
106     depends_on:
107       - postgres_gamma
108     ports:
109       - "8561:8561"
110   postgres_gamma:
111     <<: *postgres-default
112     volumes:
113       - ./volumes/postgres_gamma:/var/lib/postgresql/data:Z
114
115   # An instance with only an allowlist for beta
116   lemmy-delta-ui:
117     <<: *ui-default
118     environment:
119       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-delta:8571
120       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8571
121     depends_on:
122       - lemmy-delta
123   lemmy-delta:
124     <<: *lemmy-default
125     volumes:
126       - ./lemmy_delta.hjson:/config/config.hjson:Z
127     depends_on:
128       - postgres_delta
129     ports:
130       - "8571:8571"
131   postgres_delta:
132     <<: *postgres-default
133     volumes:
134       - ./volumes/postgres_delta:/var/lib/postgresql/data:Z
135
136   # An instance who has a blocklist, with lemmy-alpha blocked
137   lemmy-epsilon-ui:
138     <<: *ui-default
139     environment:
140       - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-epsilon:8581
141       - LEMMY_UI_LEMMY_EXTERNAL_HOST=localhost:8581
142     depends_on:
143       - lemmy-epsilon
144   lemmy-epsilon:
145     <<: *lemmy-default
146     volumes:
147       - ./lemmy_epsilon.hjson:/config/config.hjson:Z
148     depends_on:
149       - postgres_epsilon
150     ports:
151       - "8581:8581"
152   postgres_epsilon:
153     <<: *postgres-default
154     volumes:
155       - ./volumes/postgres_epsilon:/var/lib/postgresql/data:Z