With a new release 0.9.0, arm build is finally available. It is not a big deal to properly install it following instructions, but problem is with exposing your instance to the internet, bc of 2 open ports requirement (1235 for ui and 8536 for a server). I have tried to use tunneling services like ngrok and pagekite to expose localhost on 1235 port, but in this case I got access to ui only without ability to execute any action.
Have you managed to successfully expose your instance? How?
The ports 1235 and 8536 are only internal, and shouldnt be exposed to the internet. The easiest solution for you is probably to run nginx on the raspi as normal, and forward the requests to port 443 (so nginx sends the requests to frontend and backend as needed). But I’m not sure how these tunneling services work, and where you are going to handle SSL.
with rocket.chat for ex when you run an instance, it is available through localhost:3000. To expose it you use port 3000 with tunneling service like ngrok (./ngrok http 3000). So it looked logical to reproduce such approach :)
Lemmy consists of a couple different services, thats why its a bit more complicated 😃
I think the setup instructions should be exactly the same for a raspberry pi, since it can run both nginx and docker.
ok, I set nginx up based on your instructions and connected tunneling for 443 port. with default nginx lemmy.conf it gets
400 Bad Request The plain HTTP request was sent to HTTPS port
. But if replaceserver { listen 433 ssl http2; ... }
withserver { listen 433 ; ... }
it works smoothly without any error. Any suggestions? Maybe there is a need to add force redirect to https on 433 in lemmy.conf?If you handle SSL elsewhere, then you can remove anything related to SSL from the nginx config (and also the first server block which redirects from http to https).
I’m not sure why not having ssl or http2 in there would fix it… you’d have to send me your whole nginx for me to see what’s wrong.
I have manged to expose it with
ssl http2
in nginx, problem was in my tunneling setup, which I have fixed.sent :)
One thing I’ve been wondering: I assume most people hosting on raspberry pi is doing it at home, so how do you get a static IP address in order to host a domain?
- Some DynDNS can help, like noip.com but need paiement or noip subdomaine
- some registrar like ionos.com ( https://www.ionos.co.uk/help/domains/configuring-your-ip-address/connecting-a-domain-to-a-network-with-a-changing-ip-using-dynamic-dns-linux/) or ovh.com ( https://docs.ovh.com/gb/en/domains/hosting_dynhost/ )
duckdns.org is a free dyndns service that has worked well for me in the past
deleted by creator
tunneling services like ngrok etc https://github.com/anderspitman/awesome-tunneling or services like no-ip.