122 lines
2.5 KiB
Markdown
122 lines
2.5 KiB
Markdown
# 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
|
|
```
|