I tried to start self-hosting my own music from on an old laptop on Linux and very quickly found out that I don’t know how to connect to my laptop, especially since both the laptop and the phone are always connected to a VPN.
I looked around the web and found Tailscale + Mullvad as the option, but I’d prefer not to use Mullvad. on top of that, my budget is limited, so I’m unlikely to be able to afford additional paid services
There are already similar questions to mine on this and other forums, but I haven’t found a solution for my problem. Thanks in advance for any replies!
The vpn on your server should normally only affect outgoing connections so fix that, if it’s not the case and your vpn blocks incoming connections, and make sure your firewall and podman/docker/idk allows connection on the selected port and from the VPNs IP you use to the service/container/etc. Also if you connect by domain name and not by IP make sure your client knows how to correctly reslove the IP for said domain name. If you can reach the world wide web with both devices on their own, it’s likely related to one of the pointed out issues.
Also if both are on the same LAN and you can’t connect via local IP address, make sure your VPN allows connections to LAN devices and you don’t have “Block connections without VPN” enabled on android.
I am really inexperienced in self-hosting (my first time) and don’t really understand what exactly you’re telling me to do. I have allowed for LAN connections on my vpn (which is Mullvad right now), but I don’t know how to connect to my laptop at all even if were to turn off the VPN. I know how to check for ip on Linux, but I don’t know what to do with that info and how to make it all safe
I wrote this as a small intro in self hosting, would recommend giving this a read.
In short, you should try running a simple service like SearxNG, and without a VPN, try accessing it from the same network (same WiFi). Don’t fuss around with trying to connect to it from anywhere first, and debug from there.
Your laptop-server gets an IP address when you connect it to your network and you can use that IP address to access the server from an device in the same network (eg. same wifi or connected to the same router). To be able to do that, the firewall on your laptop needs to allow connections to the laptop on the port on which your music streaming service runs (try to find that out in its documentation). Also your devices need to “see” each other on the same network, which for example a VPN might prevent, so if you can, try to connect to your server without VPN first, and when you’re sure that you can reach your server from another device, try to reenable the VPN and see what changes (best case first turn on VPN on one device (e.g. smartphone, keep “block connections without VPN” off in the VPN settings(if you’re on GOS it’s enabled automatically)), test it and if it works turn on the VPN on the second device (e.g. laptop). If it fails at some point you can narrow down the source of error to, for example, the laptop VPN blocking incoming connections or the android vpn not allowing connections to LAN devices.
To get back to your original Question, you only need to use Tailscale if you want to access your server from outside of your home network without self hosting a wireguard VPN to your home(Tailscale is the “just works” solution for that). As pointed out by someone else, if you’re new to selfhosting, start with small simple things and try to access them only from your home network at first to learn by doing, or you’ll find plenty of stuff online to learn networking basics which will likely help you troubleshoot future problems. Once you’re somewhat comfortable with selfhosting something you can start trying to self host services which you would like to have such as your music service.
If you specify in detail what service you’re trying to self host, on which OS, how you installed it and what you did to access it without success, it would be easier to troubleshoot for people reading this.
Thanks a lot for the support and help. I’ve figured out how to self-host inside the same network. The next thing for me, I guess, is learning a bit about using Wireguard
I’m not eager on using Tailscale, because I’d like to move away from Mullvad, but I’ll definitely try out Tailscale if I don’t manage to get Wireguard working.
My server is a laptop on Linux Mint and I’m hosting Navidrome through Docker. Everything works inside the local network (even with VPN turned on on the server). Currently, I’m using Mullvad VPN, but planning to try out IVPN as soon as my subscription ends. I want to connect to the server using my GrapheneOS phone, while both the phone and the server are connected to a privacy VPN.
So far, I’ve tried nothing solid to do that, but researched about Cloudflare tunnels, Tailscale, VPS and the smallest bit about Wireguard. VPS is too expensive for me and Tailscale only works with Mullvad and I want to move away from Mullvad. I don’t know enough about the other two options
Not just wireguard. If you are new to self hosting, I recommend Tailscale so you don’t need to worry about the security of punching holes in your router along with figuring out DDNS stuff.
Tailscale technically IS wireguard behind the scenes, it’s just wireguard managed for you.
I don’t know what you mean about Tailscale and Mullvad being coupled together. Mullvad can be used for your outbound requests while access to the server can be manages through Tailscale I believe (if youve set things up in a way that supports that).
I don’t want to discourage you from self-hosting, because it is something truly wonderful for your privacy, but your question suggests you don’t understand how computer networking works on a conceptual level. This is essential before you deploy anything. Otherwise, you’re at risk of getting stupidly pwned. You’re probably behind a firewall, and nothing bad has happened because your service is not publicly routable. Use AI to walk you through the necessary background, software/hardware option for what you want to achieve specifically, and to review any configuration before you go live.