Open dinosaw opened 3 years ago
This hasn't been maintained, but likely does not need much work. Traefik 2.0 is probably the biggest breaking change, but you can get around that by using the old deprecated 1.x containers.
The bootstrap script is very opinionated and fragile; it was more of a 'guide' rather than a solution. It should work for you, but you must not deviate from any of the choices it assumes you've made. It's open source and you are therefore encouraged to make changes as needed (like, if you don't prefer putting in /opt
...). As you've noticed, I just assume you've got some packages installed. I didn't do the dev work on this in a vacuum... htpasswd
has been installed on most of my systems for years :/.
Your specific error is probably because /root/skyhole
!= /opt/skyhole
I've re-rolled the implementation a few times but not released as there's still a few issues w/ the Upstream pihole docker container that make things complicated:
basically, the current pihole docker implementation is an anti-pattern. It works and is easy, so it's remained popular. Popular things are seldom changed. Each re-write I do has not used docker, but the architecture is the same; just replace docker-compose for salt
which puts everything in place. i install piHole, certbot
and traefik
and coredns
all on bare metal and use systemd
to keep it all running. Certbot fetches the TLS key pair and configures traefik and coreDNS rather than pulling the keys from treafik.
Eventually i'd like to get a single helm chart for k8 deployments but that requires a ton of work to de-compose the Franken-container that is the current pihole docker image.
Hello,
Thanks for the reply. I have moved it over to /opt
which got me a little further, but still seeing this:
# ./bootstrap.sh
[INFO] creating files for docker-compose...
existing /opt/skyhole/docker/vol/traefik/.htpasswd...
existing /opt/skyhole/docker/vol/traefik/acme.json...
[INFO] getting runtime WAN IP configuration...
[INFO] beginning container creation...
ERROR: In file /opt/skyhole/docker/env/pi.public_ip.env: environment variable name '<html lang' may not contain whitespace.
This is that file's output:
# cat /opt/skyhole/docker/env/pi.public_ip.env
ServerIP=<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 403 (Forbidden)!!1</title>
<style>
- - - - - - - - - - [SNIP] - - - - - - - - - -
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Access is forbidden. <ins>That’s all we know.</ins>
Since it complains about whitespace, I simply took out the lang=en
and ran it again, but it looks like it places it right back into the file with the whitespace. Any idea how to get past this one?
the content of pi.public_ip.env
should be just an IP address and nothing else.
Hello,
After doing all the manual configuration for the files like
traefik.toml
andpihole.env
etc, I attempt to run./bootstrap.sh
and get errors.At first is stated:
So I created that directory and ran it again but got:
Then I looked to see what package the
htpasswd
command is part of which wasapache2-utils
. I installed that and then ranbootstrap.sh
again:Then I installed
docker-compose
and ran it again and got:So honestly it's just one error after another. Is this still a working application? Is there something I'm missing? Is there a list of pre-requisites needing to be installed before running
bootstrap.sh
other than the configuration files?