Hellmo_luciferrari

  • 2 Posts
  • 28 Comments
Joined 11 months ago
cake
Cake day: December 20th, 2023

help-circle


  • I want to self host more, but power draw is a concern.

    So I have gone the route of running to Pi 4 8gb models as my hosts of choice.

    So far I am hosting:

    Non-Docker:

    • PiHole
    • Unbound
    • Wireguard (and Wireguard-UI)

    Docker:

    • ForgeJo
    • Dozzle
    • Homarr
    • LinkWarden
    • Traefik
    • Watchtower

    There are a few other services I want to get up, but I haven’t gotten around to it:

    • Jellyfin
    • Immich
    • Nextcloud

    As to why:

    • ForgeJo to host my own git repositories (Docker Compose files, Chezmoi dot files, Miscellaneous configs)
    • PiHole for ad blocking
    • Unbound, well, having my own DNS
    • Wireguard so I can connect to my home network
    • Dozzle for easy log checking for my docker containers
    • Linkwaren so I can backup bookmarks in a privacy friendly way
    • Homarr for easy access to other web services I host
    • Traefik so I can resolve IP:port to a hostname with SSL certificates even though everything I host is internal only
    • Watchtower to update my Docker containers





  • so in my traefik.yml file I have cloudflare set as my certresolver as follows:

    certificatesResolvers:
      cloudflare:
        acme:
          email: email@example.com
          storage: acme.json
          caServer: https://acme-v02.api.letsencrypt.org/directory # prod (default)
          # caServer: https://acme-staging-v02.api.letsencrypt.org/directory # staging
          dnsChallenge:
            provider: cloudflare
            #disablePropagationCheck: true # uncomment this if you have issues pulling certificates through cloudflare, By setting this flag to true disables the need to wait for the propagation of the TXT record to all aut>
            #delayBeforeCheck: 60s # uncomment along with disablePropagationCheck if needed to ensure the TXT record is ready before verification is attempted 
            resolvers:
              - "1.1.1.1:53"
              - "1.0.0.1:53"
    
    

    And I had to get the secret mounted via the docker-compose file.

    So where you have:

    tls:

            certResolver: examplecom-dns
    
    

    Do I have to redefine all of the same information I did in my Traefik yml but in this separate config.yml?

    (I did set it up in my traefik.yml and docker-compose.yml to mount and use this config, which I had commented out for later use.


    Thank you so much for the help!


    Edit:

    Essentially I am trying to get my PiHole which is hosted on another pi setup with an SSL cert for local use only:

    So in looking at your config I tried using:

    http:
      routers:
        pihole-rtr:
          entryPoints:
          - https
          service: pihole-rtr
          rule: "Host(`ph.local.domain.com`)"
          tls:
            certResolver: cloudflare
    
      services:
        pihole-svc:
          loadBalancer:
            servers:
              - url: "http://<ip>/admin"
    

    However when doing this error logs returned:

    
    2024-07-08T15:04:27-04:00 ERR error="the service \"pihole-rtr@file\" does not exist" entryPointName=https routerName=pihole-rtr@file
    2024-07-08T15:04:28-04:00 ERR error="the service \"pihole-rtr@file\" does not exist" entryPointName=https routerName=pihole-rtr@file
    

    I am doing something very wrong… And feel a little lost.


  • Would the file provider configs live on the Traefik server, or would they need to be on the external service. Reading through this, and looking at the example configuration files doesn’t really seem to point that out. Sorry for the noob questions.

    Trying to understand this, but the way the documentation is written is different than I am used to.

    Thank you!




  • I ran into an issue where I changed nothing, and all of a sudden none of my SSL certs worked on top of most of the hosts were not working through the reverse proxy. I had not even changed ip addresses on any of them. I am not sure what was going on.

    It was more of a “I didn’t want to troubleshoot” and gave up, so I shut down my servers.







  • I appreciate that mentality though. When things break, if your understanding of your setup is there, it’s less to deal with.

    I am forgoing the Portainer route this time. I am going to strictly use Docker Compose for my containers. I had too many issues with Portainer to consider using it.

    For reverse proxy, I just need/want it for simple ip:port to sub.domain.lan type addresses locally. Anything I need outside of my home will be tunneled through wireguard.

    I always quite liked Dozzle. It was handy, and has helped me comb through logs in the past.