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?

  • BlackPenguins@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    6 months ago

    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!

    • andyburke@fedia.io
      link
      fedilink
      arrow-up
      5
      ·
      6 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.

    • Alphane Moon@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 months ago

      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.

    • asbestos@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 months ago

      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

      • BlackPenguins@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 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.