]> Untitled Git - lemmy.git/blob - docker/federation/nginx.conf
Fix nginx config for local federation setup (#104)
[lemmy.git] / docker / federation / nginx.conf
1 events {
2     worker_connections 1024;
3 }
4
5 http {
6     upstream lemmy-alpha {
7         server "lemmy-alpha:8541";
8     }
9     upstream lemmy-alpha-ui {
10         server "lemmy-alpha-ui:1234";
11     }
12     server {
13         listen 8540;
14         server_name 127.0.0.1;
15         access_log  off;
16
17         # Upload limit for pictshare
18         client_max_body_size 50M;
19
20         location ~ ^/(api|docs|pictrs|feeds|nodeinfo|.well-known) {
21             proxy_pass http://lemmy-alpha;
22             proxy_http_version 1.1;
23             proxy_set_header Upgrade $http_upgrade;
24             proxy_set_header Connection "upgrade";
25         }
26         location / {
27             set $proxpass http://lemmy-alpha-ui;
28             if ($http_accept = "application/activity+json") {
29               set $proxpass http://lemmy-alpha;
30             }
31             proxy_pass $proxpass;
32
33             proxy_set_header X-Real-IP $remote_addr;
34             proxy_set_header Host $host;
35             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
36
37             # Cuts off the trailing slash on URLs to make them valid
38             rewrite ^(.+)/+$ $1 permanent;
39         }
40         location /iframely/ {
41             proxy_pass http://iframely:80/;
42             proxy_set_header X-Real-IP $remote_addr;
43             proxy_set_header Host $host;
44             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
45         }
46     }
47
48     upstream lemmy-beta {
49         server "lemmy-beta:8551";
50     }
51     upstream lemmy-beta-ui {
52         server "lemmy-beta-ui:1234";
53     }
54     server {
55         listen 8550;
56         server_name 127.0.0.1;
57         access_log off;
58
59         # Upload limit for pictshare
60         client_max_body_size 50M;
61
62         location ~ ^/(api|docs|pictrs|feeds|nodeinfo|.well-known) {
63             proxy_pass http://lemmy-beta;
64             proxy_http_version 1.1;
65             proxy_set_header Upgrade $http_upgrade;
66             proxy_set_header Connection "upgrade";
67         }
68         location / {
69             set $proxpass http://lemmy-beta-ui;
70             if ($http_accept = "application/activity+json") {
71               set $proxpass http://lemmy-beta;
72             }
73             proxy_pass $proxpass;
74
75             proxy_set_header X-Real-IP $remote_addr;
76             proxy_set_header Host $host;
77             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
78
79             # Cuts off the trailing slash on URLs to make them valid
80             rewrite ^(.+)/+$ $1 permanent;
81         }
82         location /iframely/ {
83             proxy_pass http://iframely:80/;
84             proxy_set_header X-Real-IP $remote_addr;
85             proxy_set_header Host $host;
86             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
87         }
88     }
89
90     upstream lemmy-gamma {
91         server "lemmy-gamma:8561";
92     }
93     upstream lemmy-gamma-ui {
94         server "lemmy-gamma-ui:1234";
95     }
96     server {
97         listen 8560;
98         server_name 127.0.0.1;
99         access_log off;
100
101         # Upload limit for pictshare
102         client_max_body_size 50M;
103
104         location ~ ^/(api|docs|pictrs|feeds|nodeinfo|.well-known) {
105             proxy_pass http://lemmy-gamma;
106             proxy_http_version 1.1;
107             proxy_set_header Upgrade $http_upgrade;
108             proxy_set_header Connection "upgrade";
109         }
110         location / {
111             set $proxpass http://lemmy-gamma-ui;
112             if ($http_accept = "application/activity+json") {
113               set $proxpass http://lemmy-gamma;
114             }
115             proxy_pass $proxpass;
116
117             proxy_set_header X-Real-IP $remote_addr;
118             proxy_set_header Host $host;
119             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
120
121             # Cuts off the trailing slash on URLs to make them valid
122             rewrite ^(.+)/+$ $1 permanent;
123         }
124         location /iframely/ {
125             proxy_pass http://iframely:80/;
126             proxy_set_header X-Real-IP $remote_addr;
127             proxy_set_header Host $host;
128             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
129         }
130     }
131
132     upstream lemmy-delta {
133         server "lemmy-delta:8571";
134     }
135     upstream lemmy-delta-ui {
136         server "lemmy-delta-ui:1234";
137     }
138     server {
139         listen 8570;
140         server_name 127.0.0.1;
141         access_log off;
142
143         # Upload limit for pictshare
144         client_max_body_size 50M;
145
146         location ~ ^/(api|docs|pictrs|feeds|nodeinfo|.well-known) {
147             proxy_pass http://lemmy-delta;
148             proxy_http_version 1.1;
149             proxy_set_header Upgrade $http_upgrade;
150             proxy_set_header Connection "upgrade";
151         }
152         location / {
153             set $proxpass http://lemmy-delta-ui;
154             if ($http_accept = "application/activity+json") {
155               set $proxpass http://lemmy-delta;
156             }
157             proxy_pass $proxpass;
158
159             proxy_set_header X-Real-IP $remote_addr;
160             proxy_set_header Host $host;
161             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
162
163             # Cuts off the trailing slash on URLs to make them valid
164             rewrite ^(.+)/+$ $1 permanent;
165         }
166         location /iframely/ {
167             proxy_pass http://iframely:80/;
168             proxy_set_header X-Real-IP $remote_addr;
169             proxy_set_header Host $host;
170             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
171         }
172     }
173
174     upstream lemmy-epsilon {
175         server "lemmy-epsilon:8581";
176     }
177     upstream lemmy-epsilon-ui {
178         server "lemmy-epsilon-ui:1234";
179     }
180     server {
181         listen 8580;
182         server_name 127.0.0.1;
183         access_log off;
184
185         # Upload limit for pictshare
186         client_max_body_size 50M;
187
188         location ~ ^/(api|docs|pictrs|feeds|nodeinfo|.well-known) {
189             proxy_pass http://lemmy-epsilon;
190             proxy_http_version 1.1;
191             proxy_set_header Upgrade $http_upgrade;
192             proxy_set_header Connection "upgrade";
193         }
194         location / {
195             set $proxpass http://lemmy-epsilon-ui;
196             if ($http_accept = "application/activity+json") {
197               set $proxpass http://lemmy-epsilon;
198             }
199             proxy_pass $proxpass;
200
201             proxy_set_header X-Real-IP $remote_addr;
202             proxy_set_header Host $host;
203             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
204
205             # Cuts off the trailing slash on URLs to make them valid
206             rewrite ^(.+)/+$ $1 permanent;
207         }
208         location /iframely/ {
209             proxy_pass http://iframely:80/;
210             proxy_set_header X-Real-IP $remote_addr;
211             proxy_set_header Host $host;
212             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
213         }
214     }
215 }