So I was able to install everything correctly, but I don’t know what I’m supposed to do in order for people that don’t have my same IP to see my files. I’d like to share my Jellyfin server with some friends so they can see movies there. I’ve already open the ports, but they can’t still access them, I’m using elementaryOS Hera which is built on Ubuntu 18.04.4 LTS.
If 192.168.0.103 is the IP address of your jellyfin server that should be ok. I think both internal and external port should be 443
For DuckDNS you may need to sign in with another service like github, Google, etc.
Okay, so now I have created a domain with DuckDNS, I have opened that port and I have installed Caddy, what should I do next?
https://jellyfin.org/docs/general/networking/caddy.html
I think you should be able to run:
caddy reverse-proxy --from example.com --to 127.0.0.1:8096
where example.com is your duckdns URL
Instead of 127.0.0.1:8096 I should input my public IP, right?
No, leave that as 127.0.0.1:8096 as long as you haven’t changed the port from 8096.
(base) user@user-MS-7A15:~$ caddy reverse-proxy --from http://example.duckdns.org --to 127.0.0.1:8096 2021/03/12 22:18:21.149 WARN admin admin endpoint disabled 2021/03/12 22:18:21.149 INFO http server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server {"server_name": "proxy", "http_port": 80} 2021/03/12 22:18:21.149 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc00043f0a0"} 2021/03/12 22:18:21.149 INFO tls cleaned up storage units reverse-proxy: loading new config: http app module: start: tcp: listening on :80: listen tcp :80: bind: permission denied
Should I run that as sudo, right?
Edit your post to change your DuckDNS address to http://example.duckdns.org in case someone tries to hack you.
I think you need to run as sudo, but with your URL add an s, so https://example.duckdns.org (but put in your actual duckdns address).
It still gives me the same error. uwu
Hmmm on your router you may need to add another rule for port 80. Do exactly what you did before for port 443. Add a rule for the IP your jellyfin server is running on, then enter port 80 in both of the port fields.
Also, log in to your Jellyfin server. Go to Settings > Admin Dashboard > Networking and tick the checkbox for “Allow remote connections to this server”.
Done.
Did you also untick ‘Enable automatic port mapping’?
Yup.