Browse Source

put container images into a .image quadlet to pre-pull images before services start

main
Nicolas Massé 1 month ago
parent
commit
6caba13ff3
  1. 2
      cookbooks/gitea/gitea.container
  2. 6
      cookbooks/gitea/gitea.image
  3. 2
      cookbooks/lego/lego-renew.container
  4. 2
      cookbooks/lego/lego-run.container
  5. 6
      cookbooks/lego/lego.image
  6. 2
      cookbooks/miniflux/miniflux.container
  7. 6
      cookbooks/miniflux/miniflux.image
  8. 2
      cookbooks/nextcloud/nextcloud-app.container
  9. 2
      cookbooks/nextcloud/nextcloud-collabora.container
  10. 6
      cookbooks/nextcloud/nextcloud-collabora.image
  11. 2
      cookbooks/nextcloud/nextcloud-cron.container
  12. 2
      cookbooks/nextcloud/nextcloud-init.container
  13. 2
      cookbooks/nextcloud/nextcloud-nginx.container
  14. 13
      cookbooks/nextcloud/nextcloud-nginx.image
  15. 2
      cookbooks/nextcloud/nextcloud-redis.container
  16. 13
      cookbooks/nextcloud/nextcloud-redis.image
  17. 2
      cookbooks/nextcloud/nextcloud-upgrade.container
  18. 13
      cookbooks/nextcloud/nextcloud.image
  19. 6
      cookbooks/nginx/nginx-git.image
  20. 2
      cookbooks/nginx/nginx-init.container
  21. 2
      cookbooks/nginx/nginx-server.container
  22. 2
      cookbooks/nginx/nginx-update.container
  23. 6
      cookbooks/nginx/nginx.image
  24. 2
      cookbooks/restic-server/restic-server.container
  25. 5
      cookbooks/restic-server/restic-server.image
  26. 2
      cookbooks/seedbox/flaresolverr.container
  27. 6
      cookbooks/seedbox/flaresolverr.image
  28. 2
      cookbooks/seedbox/jellyfin.container
  29. 6
      cookbooks/seedbox/jellyfin.image
  30. 2
      cookbooks/seedbox/lidarr.container
  31. 6
      cookbooks/seedbox/lidarr.image
  32. 2
      cookbooks/seedbox/prowlarr.container
  33. 6
      cookbooks/seedbox/prowlarr.image
  34. 2
      cookbooks/seedbox/qbittorrent.container
  35. 5
      cookbooks/seedbox/qbittorrent.image
  36. 2
      cookbooks/seedbox/radarr.container
  37. 6
      cookbooks/seedbox/radarr.image
  38. 2
      cookbooks/seedbox/sonarr.container
  39. 6
      cookbooks/seedbox/sonarr.image
  40. 2
      cookbooks/traefik/traefik.container
  41. 6
      cookbooks/traefik/traefik.image
  42. 2
      cookbooks/unifi/unifi-app.container
  43. 6
      cookbooks/unifi/unifi-app.image
  44. 2
      cookbooks/unifi/unifi-mongo.container
  45. 13
      cookbooks/unifi/unifi-mongo.image
  46. 2
      cookbooks/vaultwarden/vaultwarden.container
  47. 6
      cookbooks/vaultwarden/vaultwarden.image
  48. 2
      cookbooks/vmagent/vmagent.container
  49. 5
      cookbooks/vmagent/vmagent.image

2
cookbooks/gitea/gitea.container

@ -12,7 +12,7 @@ PartOf=gitea.target
[Container] [Container]
ContainerName=gitea ContainerName=gitea
Image=docker.gitea.com/gitea:latest Image=gitea.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

6
cookbooks/gitea/gitea.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.gitea.com/gitea
Documentation=https://docs.gitea.com/
[Image]
Image=docker.gitea.com/gitea:latest

2
cookbooks/lego/lego-renew.container

@ -15,7 +15,7 @@ User=10023
Group=10000 Group=10000
# Image # Image
Image=docker.io/goacme/lego:latest Image=lego.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

2
cookbooks/lego/lego-run.container

@ -16,7 +16,7 @@ User=10023
Group=10000 Group=10000
# Image # Image
Image=docker.io/goacme/lego:latest Image=lego.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

6
cookbooks/lego/lego.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.io/goacme/lego
Documentation=https://go-acme.github.io/lego/
[Image]
Image=docker.io/goacme/lego:latest

2
cookbooks/miniflux/miniflux.container

@ -11,7 +11,7 @@ PartOf=miniflux.target
[Container] [Container]
ContainerName=miniflux ContainerName=miniflux
Image=ghcr.io/miniflux/miniflux:latest Image=miniflux.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

6
cookbooks/miniflux/miniflux.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull ghcr.io/miniflux/miniflux
Documentation=https://github.com/miniflux/v2
[Image]
Image=ghcr.io/miniflux/miniflux:latest

2
cookbooks/nextcloud/nextcloud-app.container

@ -14,7 +14,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-app ContainerName=nextcloud-app
Image=docker.io/library/nextcloud:${NEXTCLOUD_MAJOR}-fpm-alpine Image=nextcloud.image
# No need for root privileges # No need for root privileges
User=www-data User=www-data

2
cookbooks/nextcloud/nextcloud-collabora.container

@ -11,7 +11,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-collabora ContainerName=nextcloud-collabora
Image=docker.io/collabora/code:latest Image=nextcloud-collabora.image
# No need for root privileges # No need for root privileges
User=1001 User=1001

6
cookbooks/nextcloud/nextcloud-collabora.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.io/collabora/code
Documentation=https://hub.docker.com/r/collabora/code/
[Image]
Image=docker.io/collabora/code:latest

2
cookbooks/nextcloud/nextcloud-cron.container

@ -11,7 +11,7 @@ ConditionPathExists=/var/lib/virtiofs/data/nextcloud/config/config.php
[Container] [Container]
ContainerName=nextcloud-cron-job ContainerName=nextcloud-cron-job
Image=docker.io/library/nextcloud:${NEXTCLOUD_MAJOR}-fpm-alpine Image=nextcloud.image
# No need for root privileges # No need for root privileges
User=www-data User=www-data

2
cookbooks/nextcloud/nextcloud-init.container

@ -15,7 +15,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-init-job ContainerName=nextcloud-init-job
Image=docker.io/library/nextcloud:${NEXTCLOUD_MAJOR}-fpm-alpine Image=nextcloud.image
# No need for root privileges # No need for root privileges
User=www-data User=www-data

2
cookbooks/nextcloud/nextcloud-nginx.container

@ -12,7 +12,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-nginx ContainerName=nextcloud-nginx
Image=docker.io/nginxinc/nginx-unprivileged:${NGINX_MAJOR}-alpine Image=nextcloud-nginx.image
# Network configuration # Network configuration
Network=host Network=host

13
cookbooks/nextcloud/nextcloud-nginx.image

@ -0,0 +1,13 @@
[Unit]
Description=podman pull docker.io/nginxinc/nginx-unprivileged
Documentation=https://hub.docker.com/r/nginxinc/nginx-unprivileged/
# Only start if Nextcloud has been configured
ConditionPathExists=/etc/quadlets/nextcloud/config.env
[Image]
Image=docker.io/nginxinc/nginx-unprivileged:${NGINX_MAJOR}-alpine
[Service]
# These environment variables are sourced to be used by systemd in the Exec* commands
EnvironmentFile=/etc/quadlets/nextcloud/config.env

2
cookbooks/nextcloud/nextcloud-redis.container

@ -11,7 +11,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-redis ContainerName=nextcloud-redis
Image=docker.io/library/redis:${REDIS_MAJOR}-alpine Image=nextcloud-redis.image
# Network configuration # Network configuration
Network=host Network=host

13
cookbooks/nextcloud/nextcloud-redis.image

@ -0,0 +1,13 @@
[Unit]
Description=podman pull docker.io/library/redis
Documentation=https://hub.docker.com/_/redis/
# Only start if Nextcloud has been configured
ConditionPathExists=/etc/quadlets/nextcloud/config.env
[Image]
Image=docker.io/library/redis:${REDIS_MAJOR}-alpine
[Service]
# These environment variables are sourced to be used by systemd in the Exec* commands
EnvironmentFile=/etc/quadlets/nextcloud/config.env

2
cookbooks/nextcloud/nextcloud-upgrade.container

@ -15,7 +15,7 @@ PartOf=nextcloud.target
[Container] [Container]
ContainerName=nextcloud-upgrade-to-${NEXTCLOUD_MAJOR}-job ContainerName=nextcloud-upgrade-to-${NEXTCLOUD_MAJOR}-job
Image=docker.io/library/nextcloud:${NEXTCLOUD_MAJOR}-fpm-alpine Image=nextcloud.image
# No need for root privileges # No need for root privileges
User=www-data User=www-data

13
cookbooks/nextcloud/nextcloud.image

@ -0,0 +1,13 @@
[Unit]
Description=podman pull docker.io/library/nextcloud
Documentation=https://hub.docker.com/_/nextcloud/
# Only start if Nextcloud has been configured
ConditionPathExists=/etc/quadlets/nextcloud/config.env
[Image]
Image=docker.io/library/nextcloud:${NEXTCLOUD_MAJOR}-fpm-alpine
[Service]
# These environment variables are sourced to be used by systemd in the Exec* commands
EnvironmentFile=/etc/quadlets/nextcloud/config.env

6
cookbooks/nginx/nginx-git.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.io/alpine/git
Documentation=https://hub.docker.com/r/alpine/git
[Image]
Image=docker.io/alpine/git:latest

2
cookbooks/nginx/nginx-init.container

@ -14,7 +14,7 @@ PartOf=nginx.target
[Container] [Container]
ContainerName=nginx-init-job ContainerName=nginx-init-job
Image=docker.io/alpine/git:latest Image=nginx-git.image
# Network configuration # Network configuration
Network=host Network=host

2
cookbooks/nginx/nginx-server.container

@ -14,7 +14,7 @@ PartOf=nginx.target
[Container] [Container]
ContainerName=nginx-server ContainerName=nginx-server
Image=docker.io/library/nginx:mainline-alpine Image=nginx.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

2
cookbooks/nginx/nginx-update.container

@ -14,7 +14,7 @@ PartOf=nginx.target
[Container] [Container]
ContainerName=nginx-update-job ContainerName=nginx-update-job
Image=docker.io/alpine/git:latest Image=nginx-git.image
# Network configuration # Network configuration
Network=host Network=host

6
cookbooks/nginx/nginx.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.io/library/nginx
Documentation=https://hub.docker.com/_/nginx
[Image]
Image=docker.io/library/nginx:mainline-alpine

2
cookbooks/restic-server/restic-server.container

@ -8,7 +8,7 @@ RequiresMountsFor=/var/lib/virtiofs/data /var
ContainerName=restic ContainerName=restic
# Image # Image
Image=docker.io/restic/rest-server:latest Image=restic-server.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

5
cookbooks/restic-server/restic-server.image

@ -0,0 +1,5 @@
[Unit]
Description=podman pull docker.io/restic/rest-server
[Image]
Image=docker.io/restic/rest-server:latest

2
cookbooks/seedbox/flaresolverr.container

@ -8,7 +8,7 @@ After=network-online.target
ContainerName=flaresolverr ContainerName=flaresolverr
# Image # Image
Image=ghcr.io/flaresolverr/flaresolverr:latest Image=flaresolverr.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/flaresolverr.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull ghcr.io/flaresolverr/flaresolverr
Documentation=https://github.com/FlareSolverr/FlareSolverr/
[Image]
Image=ghcr.io/flaresolverr/flaresolverr:latest

2
cookbooks/seedbox/jellyfin.container

@ -10,7 +10,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=jellyfin ContainerName=jellyfin
# Image # Image
Image=lscr.io/linuxserver/jellyfin:latest Image=jellyfin.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/jellyfin.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/jellyfin
Documentation=https://docs.linuxserver.io/images/docker-jellyfin/
[Image]
Image=lscr.io/linuxserver/jellyfin:latest

2
cookbooks/seedbox/lidarr.container

@ -10,7 +10,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=lidarr ContainerName=lidarr
# Image # Image
Image=lscr.io/linuxserver/lidarr:latest Image=lidarr.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/lidarr.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/lidarr
Documentation=https://docs.linuxserver.io/images/docker-lidarr/
[Image]
Image=lscr.io/linuxserver/lidarr:latest

2
cookbooks/seedbox/prowlarr.container

@ -10,7 +10,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=prowlarr ContainerName=prowlarr
# Image # Image
Image=lscr.io/linuxserver/prowlarr:latest Image=prowlarr.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/prowlarr.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/prowlarr
Documentation=https://docs.linuxserver.io/images/docker-prowlarr/
[Image]
Image=lscr.io/linuxserver/prowlarr:latest

2
cookbooks/seedbox/qbittorrent.container

@ -9,7 +9,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=qbittorrent ContainerName=qbittorrent
# Image # Image
Image=lscr.io/linuxserver/qbittorrent:latest Image=qbittorrent.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

5
cookbooks/seedbox/qbittorrent.image

@ -0,0 +1,5 @@
[Unit]
Description=podman pull lscr.io/linuxserver/qbittorrent
[Image]
Image=lscr.io/linuxserver/qbittorrent:latest

2
cookbooks/seedbox/radarr.container

@ -10,7 +10,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=radarr ContainerName=radarr
# Image # Image
Image=lscr.io/linuxserver/radarr:latest Image=radarr.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/radarr.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/radarr
Documentation=https://docs.linuxserver.io/images/docker-radarr/
[Image]
Image=lscr.io/linuxserver/radarr:latest

2
cookbooks/seedbox/sonarr.container

@ -10,7 +10,7 @@ ConditionPathIsMountPoint=/var/lib/virtiofs/data
ContainerName=sonarr ContainerName=sonarr
# Image # Image
Image=lscr.io/linuxserver/sonarr:latest Image=sonarr.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

6
cookbooks/seedbox/sonarr.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/sonarr
Documentation=https://docs.linuxserver.io/images/docker-sonarr/
[Image]
Image=lscr.io/linuxserver/sonarr:latest

2
cookbooks/traefik/traefik.container

@ -11,7 +11,7 @@ PartOf=traefik.target
ContainerName=traefik ContainerName=traefik
# Image # Image
Image=docker.io/library/traefik:v3.4 Image=traefik.image
AutoUpdate=registry AutoUpdate=registry
# No need for root privileges # No need for root privileges

6
cookbooks/traefik/traefik.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull docker.io/library/traefik
Documentation=https://github.com/traefik/traefik-library-image
[Image]
Image=docker.io/library/traefik:v3.4

2
cookbooks/unifi/unifi-app.container

@ -12,7 +12,7 @@ PartOf=unifi.target
[Container] [Container]
ContainerName=unifi-app ContainerName=unifi-app
Image=lscr.io/linuxserver/unifi-network-application:latest Image=unifi-app.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

6
cookbooks/unifi/unifi-app.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull lscr.io/linuxserver/unifi-network-application
Documentation=https://docs.linuxserver.io/images/docker-unifi-network-application/
[Image]
Image=lscr.io/linuxserver/unifi-network-application:latest

2
cookbooks/unifi/unifi-mongo.container

@ -11,7 +11,7 @@ PartOf=unifi.target
[Container] [Container]
ContainerName=unifi-mongo ContainerName=unifi-mongo
Image=docker.io/library/mongo:${MONGO_MAJOR} Image=unifi-mongo.image
AutoUpdate=registry AutoUpdate=registry
# Network configuration # Network configuration

13
cookbooks/unifi/unifi-mongo.image

@ -0,0 +1,13 @@
[Unit]
Description=podman pull docker.io/library/mongo
Documentation=https://hub.docker.com/_/mongo/
# Only start if Unifi has been configured
ConditionPathExists=/etc/quadlets/unifi/config.env
[Image]
Image=docker.io/library/mongo:${MONGO_MAJOR}
[Service]
# These environment variables are sourced to be used by systemd in the Exec* commands
EnvironmentFile=/etc/quadlets/unifi/config.env

2
cookbooks/vaultwarden/vaultwarden.container

@ -12,7 +12,7 @@ PartOf=vaultwarden.target
[Container] [Container]
ContainerName=vaultwarden ContainerName=vaultwarden
Image=quay.io/vaultwarden/server:latest-alpine Image=vaultwarden.image
AutoUpdate=registry AutoUpdate=registry
# No need for root privileges # No need for root privileges

6
cookbooks/vaultwarden/vaultwarden.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull quay.io/vaultwarden/server
Documentation=https://github.com/dani-garcia/vaultwarden
[Image]
Image=quay.io/vaultwarden/server:latest-alpine

2
cookbooks/vmagent/vmagent.container

@ -10,7 +10,7 @@ ConditionPathExists=/etc/quadlets/vmagent/vmagent.local.env
ContainerName=vmagent ContainerName=vmagent
# Image # Image
Image=quay.io/victoriametrics/vmagent:latest Image=vmagent.image
AutoUpdate=registry AutoUpdate=registry
# Security # Security

5
cookbooks/vmagent/vmagent.image

@ -0,0 +1,5 @@
[Unit]
Description=podman pull quay.io/victoriametrics/vmagent
[Image]
Image=quay.io/victoriametrics/vmagent:latest
Loading…
Cancel
Save