this post was submitted on 21 Jun 2024
111 points (96.6% liked)

Selfhosted

39435 readers
3 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Not exactly self hosting but maintaining/backing it up is hard for me. So many “what if”s are coming to my mind. Like what if DB gets corrupted? What if the device breaks? If on cloud provider, what if they decide to remove the server?

I need a local server and a remote one that are synced to confidentially self-host things and setting this up is a hassle I don’t want to take.

So my question is how safe is your setup? Are you still enthusiastic with it?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (3 children)

Reverse proxy is actually super easy with nginx. I have an nginx server at the front of my server doing the reverse proxy and an Apache server hosting some of those applications being proxied.

Basically 3 main steps:

  • Setup up the DNS with your hoster for each subdomain.

  • Setup your router to port forward for each port.

  • Setup nginx to do the proxy from each subdomain to each port.

DreamHost let's me manage all the records I want. I point them to the same IP as my server:

This is my config file:

server {
    listen 80;
    listen [::]:80;

    server_name photos.my_website_domain.net;

    location / {
        proxy_pass http://127.0.0.1:2342;
        include proxy_params;
    }
 }

 server {
    listen 80;
    listen [::]:80;

    server_name media.my_website_domain.net;

    location / {
        proxy_pass http://127.0.0.1:8096;
        include proxy_params;
    }
}

And then I have dockers running on those ports.

root@website:~$ sudo docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED       STATUS       PORTS                                                      NAMES
e18157d11eda   photoprism/photoprism:latest   "/scripts/entrypoint…"   4 weeks ago   Up 4 weeks   0.0.0.0:2342->2342/tcp, :::2342->2342/tcp, 2442-2443/tcp   photoprism-photoprism-1
b44e8a6fbc01   mariadb:11                     "docker-entrypoint.s…"   4 weeks ago   Up 4 weeks   3306/tcp                                                   photoprism-mariadb-1

So if you go to photos.my_website_domain.net that will navigate the user to my_website_domain.net first. My nginx server will kick in and see you want the 'photos' path, and reroute you to basically http://my_website_domain.net:2342. My PhotoPrism server. So you could do http://my_website_domain.net:2342 or http://photos.my_website_domain.net. Either one works. The reverse proxy does the shortcut.

Hope that helps!

[–] [email protected] 5 points 5 months ago (1 children)

fuck nginx and fuck its configuration file with an aids ridden spoon, it’s everything but easy if you want anything other than the default config for the app you want to serve

[–] [email protected] 2 points 5 months ago

I only use it for reverse proxies. I still find Apache easier for web serving, but terrible for setting up reverse proxies. So I use the advantages of each one.

[–] [email protected] 5 points 5 months ago

🤷‍♂️ I could spend that two hours with my kids.

You aren't wrong, but as a community I think we should be listening carefully to the pain points and thinking about how we could make them better.

[–] [email protected] 4 points 5 months ago (1 children)

I had a pretty decent self-hosted setup that was working locally. The whole project failed because I couldn't set up a reverse proxy with nginx.

I am no pro, very far from it, but I am also somewhat Ok with linux and technical research. I just couldn't get nginx and reverse proxies working and it wasn't clear where to ask for help.

[–] [email protected] 3 points 5 months ago

I updated my comment above with some more details now that I'm not on lunch.