fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

9.9K
active users

#podman

26 posts20 participants2 posts today
Continued thread

Jellyfin Dockerfile has this line:

HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=3 \
CMD curl --noproxy 'localhost' -Lk -fsS "${HEALTHCHECK_URL}" || exit 1

so I've added the following to my jellyfin.container:
...
HealthCmd=curl --noproxy 'localhost' -Lk -fsS http://localhost:8096/health || exit 1
HealthStartPeriod=10s
HealthInterval=30s
HealthTimeout=30s
HealthRetries=3
Notify=healthy
...

github.com/jellyfin/jellyfin-p

Jellyfin Server/Web packaging and release workflows - jellyfin/jellyfin-packaging
GitHubjellyfin-packaging/docker/Dockerfile at master · jellyfin/jellyfin-packagingJellyfin Server/Web packaging and release workflows - jellyfin/jellyfin-packaging
Continued thread

Vaultwarden Dockerfile has this:

HEALTHCHECK --interval=60s --timeout=10s CMD ["/healthcheck.sh"]

so I've added the following to my vaultwarden.container:
...
HealthCmd=/healthcheck.sh
HealthStartPeriod=10s
HealthInterval=60s
HealthTimeout=10s
HealthRetries=5
Notify=healthy
...

github.com/dani-garcia/vaultwa

Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs - dani-garcia/vaultwarden
GitHubvaultwarden/docker/Dockerfile.debian at main · dani-garcia/vaultwardenUnofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs - dani-garcia/vaultwarden
Continued thread

For caddy, I used wget and a custom subdomain.

caddy.container:
...
HealthCmd=wget --no-verbose --tries=1 --spider test.example.com/health-check || exit 1
HealthStartPeriod=10s
HealthInterval=30s
HealthTimeout=5s
HealthRetries=5
Notify=healthy
...

Caddyfile:
...
test.example.com {
respond /health-check 200
respond "Hello, world!"
}
...

Inspiration:

1) caddyserver.com/docs/caddyfile

2) caddy.community/t/what-is-the-

I'm on a podman healthcheck quest.

When the pi-hole Dockerfile has:

HEALTHCHECK CMD dig -p $(pihole-FTL --config dns.port) +short +norecurse +retry=0 @127.0.0.1 pi.hole || exit 1

you need something like:
...
HealthCmd=dig -p $(pihole-FTL --config dns.port) +short +norecurse +retry=0 @127.0.0.1 pi.hole || exit 1
HealthStartPeriod=10s
HealthInterval=30s
HealthTimeout=5s
HealthRetries=5
Notify=healthy
...
in the .container file.

Next up: caddy

github.com/pi-hole/docker-pi-h

Pi-hole in a docker container. Contribute to pi-hole/docker-pi-hole development by creating an account on GitHub.
GitHubdocker-pi-hole/src/Dockerfile at master · pi-hole/docker-pi-holePi-hole in a docker container. Contribute to pi-hole/docker-pi-hole development by creating an account on GitHub.
Replied in thread

Incredible how Alexander Larsson was ahead of times with that reply about sharing libraries, it's basically the approach by Docker images... but OSTree, used by Flatpak, predates Docker and it is even more efficient with its by-file deduplication. And the recent #ComposeFS by the same author will allow #Podman containers to have the same deduplication not only on disk but even on RAM (to my understanding)

Finally moved my home server off of docker and onto podman. The holdout was Taiga which was using docker compose. Despite already deploying a few simpler services with podman, I still didn't know before this how podman does hostnames, how to set up a network with a quadlet, and using PVCs.

So Podman and IPv6 is challenging me. Having created a ipv6-enabled podman network and assigning that to a container. The container appears to be reachable on both the IPv4 and IPv6 interfaces. The thing I cannot figure out is the publishing of ports. I have not found a way to make both interfaces accessible from external. For IPv4 -p 80:80 does the trick, but not IPv6. What am I missing?