Open eddy-geek opened 1 year ago
(comparisons with Traefik/nginx/... tends to be infavour of Caddy for certif handling)
With Github actions:
With Podman :
I chose podman + docker compose
# first part from the oracle tuto
sudo dnf install container-tools # get podman v4.2.0 (not 4.3) and podman-docker
sudo curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-$(uname -i) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo systemctl enable --now podman.socket
sudo systemctl status podman.socket
Before the more advanced examples, a simple file_server using external files should look like this for Caddyfile and docker-compose.yml
file_server /data/*
services:
caddy:
image: caddy:2
container_name: caddy
restart: unless-stopped
ports:
- 80:80
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- srv:/srv
user: "1000"
volumes:
srv:
networks:
default:
name: caddy-net
With these 2 files in the current directory, run
sudo /usr/local/bin/docker-compose up -d -u $UID
It failed fro me despite additional user trick to allow read to Caddyfile as per podman#8057 / How to set user and group in Docker Compose - g-dem's blog)
So I went back to the no-docker solution
sudo dnf copr enable @caddy/caddy
sudo dnf install caddy
sudo mkdir -p /etc/caddy ; sudo cp Caddyfile /etc/caddy/
sudo systemctl enable caddy
sudo systemctl start caddy
but then I hit caddy#4058 about configuring certificates and got stuck.
echo 'caddy ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/92-caddy
2 topics but basically mostly caddy and go-pmtiles at first:
HTTP2- compatible storage for PMTiles hosting is more expensive than a good old VPS, that will scale less but keep costs limited. So the plan is to have the pmtile file(s) on the machines (~10 GB of slopes ~10 GB for slopes, but also in the future contour line if #3 doesn't pan out, and DEM Terraingrgb eg for Shading) and serve them:
DEM & APIs. Several uses-cases here:
8 to enable custom uses (terrainrgb z15?),
7 - optional - exposing ORS API requires a dedicated API server (using the above is preferred as it puts less load on the server?)