Dozzle provides a nice way to monitor the full set of docker-compose apps on a given web server. We have manually set up such a service on one of our servers using the instructions below, but we would like this service to be automatically provisioned on docker-ssh deploy.
We might want to think about how to name the service and its URL. Maybe simply logs? So you would access it via something like https://logs.152.111.126.32.nip.io.
I'm not so sure on the best way to set the password in a way that works well for multiple different people using the same server. It could be pulled from dallingerconfig, but you don't want different people overwriting the password with different values by mistake. Maybe we should (a) skip setting the password if none is set in dallingerconfig, and (b) throw a confirmation dialog if the dallingerconfig contains a password that is different from the remote one.
But on reflection, dallingerconfig variables are propagated to experiment docker-compose ymls, which seems like the wrong place for a server-wide variable to be. So maybe instead we should store it somewhere else, like a global text file... And then instead of the password going in dallingerconfig, we instead get the user to enter it via the terminal when they are setting up the server, if the password doesn't exist already.
Setup instructions
On the remote server:
mkdir ~/dallinger/dozzle
cd ~/dallinger/dozzle
create a file in ~/dallinger/dozzle/docker-compose.yml with following contents:
Dozzle provides a nice way to monitor the full set of docker-compose apps on a given web server. We have manually set up such a service on one of our servers using the instructions below, but we would like this service to be automatically provisioned on docker-ssh deploy.
We might want to think about how to name the service and its URL. Maybe simply
logs
? So you would access it via something likehttps://logs.152.111.126.32.nip.io
.I'm not so sure on the best way to set the password in a way that works well for multiple different people using the same server. It could be pulled from dallingerconfig, but you don't want different people overwriting the password with different values by mistake. Maybe we should (a) skip setting the password if none is set in dallingerconfig, and (b) throw a confirmation dialog if the dallingerconfig contains a password that is different from the remote one.
But on reflection, dallingerconfig variables are propagated to experiment docker-compose ymls, which seems like the wrong place for a server-wide variable to be. So maybe instead we should store it somewhere else, like a global text file... And then instead of the password going in dallingerconfig, we instead get the user to enter it via the terminal when they are setting up the server, if the password doesn't exist already.
Setup instructions
On the remote server:
mkdir ~/dallinger/dozzle
cd ~/dallinger/dozzle
create a file in
~/dallinger/dozzle/docker-compose.yml
with following contents:Set up the container:
docker compose up -d
Expose the port. Create a new file
nano ~/dallinger/caddy.d/dozzle
with the following contents:Refresh caddy:
docker compose -f ~/dallinger/docker-compose.yml exec -T httpserver caddy reload --config /etc/caddy/Caddyfile
Check out your logger: dozzle.my.ip.add.res.nip.io