# Podman - [Podman](#podman) - [Notes](#notes) - [Podman systemd files](#podman-systemd-files) - [iperf3](#iperf3) - [pihole](#pihole) - [Grafana](#grafana) - [Nginx](#nginx) - [Nginx Build](#nginx-build) - [Nginx Run](#nginx-run) - [Quadlet Generation](#quadlet-generation) - [Update yellow/orange](#update-yelloworange) ## Notes - podman auth is stored in `/run/user/1000/containers` ## Podman systemd files Rather than copying compose files or running podman run as systemd services you can generate quadlet files to define containers that run at boot. Podlet generates quadlets - systemd files specifically for containers. You generate quadlets from compose files like so: ```bash podman run \ -v ./compose:/compose \ -v ./quadlets:/quadlets \ quay.io/k9withabone/podlet \ -f /quadlets \ -i \ --overwrite \ compose /compose/grafana-compose.yaml ``` Copy these files to `/usr/share/containers/systemd/` ### iperf3 ```bash podman run \ -v ./compose:/compose \ -v ./quadlets:/quadlets \ quay.io/k9withabone/podlet \ -f /quadlets \ -i \ --overwrite \ compose /compose/iperf3-compose.yaml ``` ### pihole ```bash podman run \ -v ./compose:/compose \ -v ./quadlets:/quadlets \ quay.io/k9withabone/podlet \ -f /quadlets \ -i \ --overwrite \ --wants network-online.target \ --after network-online.target \ compose /compose/pihole-compose.yaml ``` ### Grafana ```bash podman run \ -v ./compose:/compose \ -v ./quadlets:/quadlets \ quay.io/k9withabone/podlet \ -f /quadlets \ -i \ --overwrite \ compose /compose/grafana-compose.yaml ``` ### Nginx nginx proxies all other services. #### Nginx Build ```bash podman build -f nginx-stream/Containerfile -t docker.io/ducoterra/nginx-stream:latest podman build -f dns/Containerfile -t docker.io/ducoterra/nginx-stream-dns:latest podman push docker.io/ducoterra/nginx-stream:latest podman push docker.io/ducoterra/nginx-stream-dns:latest podman-compose -f compose/nginx-compose.yaml up -d ``` #### Nginx Run ```bash podman-compose -f compose/nginx-compose.yaml up ``` #### Quadlet Generation ```bash podman run \ -v ./compose:/compose \ -v ./quadlets:/quadlets \ quay.io/k9withabone/podlet \ -f /quadlets \ -i \ --overwrite \ compose /compose/nginx-stream-compose.yaml ``` #### Update yellow/orange ```bash ansible-playbook -i ansible/inventory.yaml ansible/update-quadlets.yaml ```