Skip to content

Instantly share code, notes, and snippets.

@esamson
Last active June 21, 2020 00:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save esamson/4867a53fd9c688608a65591aaa502c77 to your computer and use it in GitHub Desktop.
Save esamson/4867a53fd9c688608a65591aaa502c77 to your computer and use it in GitHub Desktop.
Podman services
container-*.service

First, create the container. We run as sudo so that it is available to root.

sudo podman run \
  --label="io.containers.autoupdate=image" \
  --name=nexus \
  --publish="8081:8081" \
  --volume="/var/lib/nexus:/sonatype-work:z" \
  --detach \
  sonatype/nexus:latest

The scripts below are provided for different services.

Then, generate systemd service file.

sudo podman generate systemd --new --files nexus
sudo cp container-XXXXXX.service /etc/systemd/system/nexus.service
sudo systemctl daemon-reload
sudo systemctl enable nexus.service

Delete container so that it can be created by systemd on next start.

sudo podman stop nexus
sudo podman rm nexus

Services may be updated with autoupdate.

sudo podman auto-update
#!/bin/sh
sudo podman run \
--label="io.containers.autoupdate=image" \
--name=jellyfin \
--publish="8096:8096" \
--volume="/var/lib/jellyfin/config:/config:z" \
--volume="/var/lib/jellyfin/cache:/cache:z" \
--volume="/media/data/Videos:/media:z" \
--detach \
jellyfin/jellyfin:latest
#!/bin/sh
sudo podman run \
--label="io.containers.autoupdate=image" \
--name=nexus \
--publish="127.0.0.1:8081:8081" \
--volume="/var/lib/nexus:/sonatype-work:z" \
--detach \
sonatype/nexus:latest
#!/bin/sh
sudo podman run \
--label="io.containers.autoupdate=image" \
--name=pihole \
--publish="53:53/tcp" \
--publish="53:53/udp" \
--publish="80:80" \
--publish="443:443" \
--env="TZ=Asia/Manila" \
--volume="/etc/pihole/pihole:/etc/pihole:z" \
--volume="/etc/pihole/dnsmasq.d:/etc/dnsmasq.d:z" \
--dns=127.0.0.1 \
--dns=1.1.1.1 \
--hostname pi.hole \
--env="VIRTUAL_HOST=pi.hole" \
--env="PROXY_LOCATION=pi.hole" \
--env="ServerIP=127.0.0.1" \
--detach \
pihole/pihole:latest
#!/bin/sh
sudo podman run \
--label="io.containers.autoupdate=image" \
--name=plantuml \
--publish="127.0.0.1:1621:8080" \
--detach \
plantuml/plantuml-server:jetty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment