this post was submitted on 23 Jul 2023
12 points (100.0% liked)

Home Server

413 readers
1 users here now

A community based around the building, set up, and use of home servers for a variety of purposes. All discussion is welcome!

founded 2 years ago
MODERATORS
 

As this is a new community hoping to continue the old. I thought I would take the opportunity to make some requests.

I have an intel NUC as a server with

  • sonarr
  • radarr
  • prowlarr
  • transmission with vpn
  • jellyfin
  • daap
  • home assistant
  • organizr

Wish list

  • some kind of dns resolution so I can access jellyfin.server.local
  • vpn to access server remotely with dynamic dns
  • some help with ansible so I can stop using my docker compose file manually.

I have done some reading and in all honesty just haven’t had the drive to try for fear of breaking something that’s working ok.

top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 1 year ago (1 children)
  1. Buy a domain name
  2. Set up a free cloudflare account
  3. Set up portainer to manage your docker-compose files (they call them stacks)
  4. Set up cloudflare dyndns service to regularly update your WAN ip for your domain name
  5. Set up cloudflare zero trust for authentication
  6. Set up Nginx proxy manager to route traffic to your NUC by IP and port

Should take you less than a day to get all of that working

[–] [email protected] 1 points 1 year ago (2 children)

That was an awesome and concise list.

Never though to use Portianer In That regard, feel a bit stupid now.

I have tried noi X proxy manager but could only get 404 or single service working at a time.

[–] [email protected] 2 points 1 year ago (1 children)

Here are the containers I use

Portainer

This is run directly on the host machine... not through portainer itself. This is the only container I run directly through docker. Full guide from portainer

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Make sure to update the volume to be where you want to store the data (especially if you're using a mounted NAS/DAS

Cloudflare DDNS

version: '2'
services:
  cloudflare-ddns:
    image: oznu/cloudflare-ddns:latest
    restart: always
    container_name: cloudflare-root
    environment:
      - API_KEY={redacted}
      - ZONE=name.tld
      - PROXIED=true # I proxy everything through cloud flare so my home IP isn't exposed
      # This sets IP address for the root name.tld
  cloudflare-ddns-abs:
    image: oznu/cloudflare-ddns:latest
    restart: always
    container_name: cloudflare-xyz
    environment:
      - API_KEY={redacted}
      - ZONE=name.tld
      - PROXIED=true
      - SUBDOMAIN=xyz 
      # This container doesn't handle multiple subdomains, nor wildcards...
      # So I have to run a different container for each service that's on its own subdomain. PITA

Cloudflare zero trust

  1. Here's the guide from Cloudflare. It's all managed in their dashboard
  2. I just have a one service exposed to the WAN that needs auth.
  3. Create an application
  4. For the access policy, I just use OTP with a long session duration since I'm the only user

nginx proxy manager

Management and setup in the app is fairly straightforward, but depends on your local setup.

Here's part of the stack I use:

version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'      # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81'       # Admin Web Port
[–] [email protected] 2 points 1 year ago (1 children)

Wow @Bldck. Thank you!!!!

After reading a bit more on what you said I got a bit more invigorated and just ordered a second hand Lenovo thinkcentre. I am going to start fresh with it.

I will use this 100% and report back.

[–] [email protected] 1 points 1 year ago
[–] [email protected] 1 points 1 year ago

Might be an issue with port forwarding on your router

[–] [email protected] 1 points 1 year ago

Virtualmin does dns. Or you could do bind and power DNS web front end.

If you virtualize your workloads or have backups it makes changed less risky.

[–] [email protected] 1 points 1 year ago (1 children)

What have you done with Ansible so far?

[–] [email protected] 1 points 1 year ago

Nothing. I have some at work for deploying applications I write. But I don’t manage them and they are extremely modular so a bit hard to follow.

[–] [email protected] 1 points 1 year ago (1 children)

I'm using freedns.afraid.org services 20+ years now in my homelab environments. You just run their script every x minutes, it checks your ip and if its changed then call their url and it updates your new ip. Completely free and easy solution. To access your server's services you should use your router vpn service (or wireguard).

[–] [email protected] 1 points 1 year ago

That’s a nice idea.

I have been using duckdns for a while. Any benefits of freedns.afraid.org?