Hi all, new to Lemmy but this seems to be the best community for this that is decently active. Apologies if not!

I got into home servers in my first house a couple years ago, but our stay in that house was unexpectedly brief and everything got put back into boxes. It’s time to setup at the new place, and I have many improvements in mind from the first implementation - so while I wait for server parts to arrive, I decided to update the diagram for planning.

In no order, here’s a list of lessons I learned from V1:

  • The blade form factor doesn’t work for me. I enjoyed getting one and learning about them, but my use cases are small (&quiet) enough that a tower and a small network rack works better.
  • In the quest for automatic home lighting, I shouldn’t have gone all-in on smart bulbs rather than switches. There get to be too many in the house, and when a couple start inevitably failing, expensive bulbs and misplaced warranty info are a gigantic pain. So now the bulbs are just for special things like ceiling fans and floor lamps.
  • I need to put more attention on storage. That’s what gets used the most, by multiple users, so I will use TrueNAS Scale as my host instead of ESXi. I was not enough of a power user for that to be important to me. The rest of it is mostly for play and doesn’t need to be perfect.
  • My media streaming needs are very simple, so I think I may like Jellyfin better than Plex.
  • I need to be ‘a little’ more lax about security. I don’t think my server is realistically likely to be heavily attacked, and when I tried to go all out on best practices, more often than not I just broke things and upset my family users. My server will not have an outside access except via VPN, and my IOT devices will not speak unless spoken to - I think that will be enough.

In particular, I tried so hard last time to have a tagged management VLAN in UniFi and always just broke connectivity between something that required a hard reset. I’m planning to skip that this time but if someone has a pointer to a good setup guide, I could try that again.

Thanks for reading/looking, all comments or suggestions are welcome! I also still need to find more applications I can selfhost so I will be keeping an eye on the community for ideas.

  • Jonsk@lemmy.halfhosted.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    Sorry for the late reply. I followed a great tutorial on youtube by Techno Tim, it explains everything pretty well. It’s a bit long, but thorough.

    I used this docker-compose file as a base because it connects loki automatically, but you have to add the volumes manually and its not too hard to connect it manually. You can just use the one that Techno Tim uses in the video if you want less complexity in you’re compose files.

    My docker compose file for reference:

    version: "3"
    services:
      loki:
        container_name: 'loki'
        image: grafana/loki:2.8.0
        ports:
          - "20110:3100"
        command: -config.file=/etc/loki/loki-config.yaml
        volumes: 
          - ./loki:/etc/loki
        networks:
          - loki
    
      promtail:
        image: grafana/promtail:2.8.0
        volumes:
          - /var/log:/var/log
          - ./promtail:/etc/promtail
        command: -config.file=/etc/promtail/promtail-config.yaml
        networks:
          - loki
    
      grafana:
        container_name: 'grafana'
        image: grafana/grafana-oss:latest
        environment:
          GF_PATHS_PROVISIONING: /etc/grafana/provisioning
    
          GF_AUTH_ANONYMOUS_ENABLED: false
          GF_LOG_MODE: "console file"
          GF_SERVER_ROOT_URL: "https://grafana.shshere.uk"
        entrypoint:
          - sh
          - -euc
          - |
            mkdir -p /etc/grafana/provisioning/datasources
            cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
            apiVersion: 1
            datasources:
            - name: Loki
              type: loki
              access: proxy 
              orgId: 1
              url: http://loki:3100
              basicAuth: false
              isDefault: true
              version: 1
              editable: false
            EOF
            /run.sh
        volumes:
          - ./grafana/data:/var/lib/grafana
          - ./grafana/logs:/var/log/grafana
        ports:
          - "20100:3000"
        networks:
          - loki
    
    networks:
      loki:
        name: loki
      frontend:
        external: true
    

    Sorry if the formatting looks bad, since I’m on mobile. I use frontend as a network that includes containers that connect to nginx proxy manager. Edit: Better wording