I understand this isn't supported.
I've been trying to confangle this myself but not having much luck, feels like I'm missing some critical info on how to configure `docker-compose.yml `and `nginx.conf`. I've tried a few iterations now but here's what I thought would be close. These are the only two files I've edited thus far, I'm using 0.16.2 for my 2nd front end so I can tell when I'm using it. I can view localhost:1236 fine but not localhost:1237 which gives me 502 bad gateway error, favicon still appears in tab though.
I'm thinking I need to open a separate port on lemmy to config another upstream entry in my nginx.conf? In prod the goal would be to have each frontend under a different subdomain for a research project I have in mind.
`docker-compose.yml`
```
version: '3.3'
services:
nginx:
image: nginx:1-alpine
ports:
- "1236:1236"
- "1237:1237"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
restart: always
depends_on:
- pictrs
- lemmy-ui
- lemmy-uir
lemmy:
image: lemmy-dev:latest
ports:
- "8536:8536"
- "6669:6669"
restart: always
environment:
- RUST_LOG="warn,lemmy_server=debug,lemmy_api=debug,lemmy_api_common=debug,lemmy_api_crud=debug,lemmy_apub=debug,lemmy_db_schema=de>
volumes:
- ../lemmy.hjson:/config/config.hjson
depends_on:
- pictrs
- postgres
- otel
lemmy-ui:
image: dessalines/lemmy-ui:0.16.3
restart: always
environment:
- LEMMY_INTERNAL_HOST=lemmy:8536
- LEMMY_EXTERNAL_HOST=localhost:1234
- LEMMY_HTTPS=false
- LEMMY_UI_DEBUG=true
depends_on:
- lemmy
lemmy-uir:
image: dessalines/lemmy-ui:0.16.2
restart: always
environment:
- LEMMY_INTERNAL_HOST=lemmy:8536
- LEMMY_EXTERNAL_HOST=localhost:1235
- LEMMY_HTTPS=false
- LEMMY_UI_DEBUG=true
depends_on:
- lemmy
```
`nginx.conf`
```
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream lemmy {
server "lemmy:8536";
}
upstream lemmy-ui {
server "lemmy-ui:1234";
}
server {
listen 1236;
server_name localhost 127.0.0.1;
# frontend
location / {
set $proxpass "http://lemmy-ui";
if ($http_accept = "application/activity+json") {
set $proxpass "http://lemmy";
}
if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
set $proxpass "http://lemmy";
}
if ($request_method = POST) {
set $proxpass "http://lemmy";
}
proxy_pass $proxpass;
rewrite ^(.+)/+$ $1 permanent;
# Send actual client IP upstream
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# backend
location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
proxy_pass "http://lemmy";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Add IP forwarding headers
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream lemmy-uir {
server "lemmy-uir:1235";
}
server {
listen 1237;
server_name localhost 127.0.0.1;
# frontend
location / {
set $proxpass "http://lemmy-uir";
if ($http_accept = "application/activity+json") {
set $proxpass "http://lemmy";
}
if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
set $proxpass "http://lemmy";
}
if ($request_method = POST) {
set $proxpass "http://lemmy";
}
proxy_pass $proxpass;
rewrite ^(.+)/+$ $1 permanent;
# Send actual client IP upstream
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# backend
location ~ ^/(api|pictrs|feeds|nodeinfo|.well-known) {
proxy_pass "http://lemmy";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Add IP forwarding headers
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
```
logs for `lemmy-uir`, identical logs to `lemmy-ui`
```
docker-compose logs --tail=100 lemmy-uir
Attaching to dev_lemmy-uir_1
lemmy-uir_1 | Inferno is in development mode.
lemmy-uir_1 | httpbase: http://lemmy:8536
lemmy-uir_1 | wsUri: ws://lemmy:8536/api/v3/ws
lemmy-uir_1 | isHttps: false
lemmy-uir_1 | No JWT cookie found.
lemmy-uir_1 | http://0.0.0.0:1234
```
Grabbed this from the nginx logs:
```
nginx_1 | 2022/05/20 10:44:34 [error] 33#33: *10 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.137.1, server: localhost, request: "GET / HTTP/1.1", upstream: "http://172.25.0.8:1235/", host: "192.168.137.132:1237"
nginx_1 | 192.168.137.1 - - [20/May/2022:10:44:34 +0000] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36"
nginx_1 | 2022/05/20 10:44:34 [error] 33#33: *10 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.137.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "http://172.25.0.8:1235/favicon.ico", host: "192.168.137.132:1237", referrer: "http://192.168.137.132:1237/
```
What is offensive is just a personal perspective so you’re gunna get mixed answers. Ultimately it will always come down to what the person meant by it and how the other person perceives it, by default that is a mixed bag of emotions and reactions.
I’ll note that I do something I call synonym panic where I get to a keyword in a sentence and I kind of blank, start struggling for words then start cycling through all the possible words I could use it and often land on some pretty odd sentences. Referring to the ‘past’ as the ‘back-timies’ as a prime example or more commonly just saying the ‘stuff’ or ‘things’ because I’m afraid I’m about to choose the wrong word.