--- - name: mealie containers.podman.podman_container: state: quadlet name: podman_mealie image: ghcr.io/mealie-recipes/mealie:latest network: bridge volumes: - /home/admin/podman/mealie:/app/data/ ports: - 9091:9000 quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: comfyui containers.podman.podman_container: state: quadlet name: podman_comfyui image: ghcr.io/ai-dock/comfyui:latest network: bridge device: "nvidia.com/gpu=all" volumes: - "/home/admin/podman/comfyui:/workspace" ports: - "1111:1111" - "8188:8188" env: COMFYUI_PORT_HOST: "8188" DIRECT_ADDRESS: "192.168.0.30" COMFYUI_URL: "http://192.168.0.30:1111" WEB_USER: "admin" WEB_PASSWORD: "{{ rtsp_password }}" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: ollama containers.podman.podman_container: state: quadlet name: podman_ollama image: docker.io/ollama/ollama:latest network: bridge device: "nvidia.com/gpu=all" volumes: - "/home/admin/podman/ollama:/root/.ollama" ports: - "11434:11434" env: OLLAMA_KEEP_ALIVE: "-1" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: open-webui containers.podman.podman_container: state: quadlet name: podman_open-webui image: ghcr.io/open-webui/open-webui:latest network: bridge volumes: - "/home/admin/podman/open-webui:/app/backend/data" ports: - "3000:8080" env: ENABLE_RAG_WEB_SEARCH: "True" RAG_WEB_SEARCH_ENGINE: "searxng" RAG_WEB_SEARCH_RESULT_COUNT: 3 RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 SEARXNG_QUERY_URL: "http://192.168.0.30:8880/search?q=" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: searxng containers.podman.podman_container: state: quadlet name: podman_searxng image: docker.io/searxng/searxng:latest network: bridge ports: - "8880:8080" volumes: - "/home/admin/podman/searxng:/etc/searxng" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: jellyfin containers.podman.podman_container: state: quadlet name: podman_jellyfin image: docker.io/jellyfin/jellyfin network: bridge device: "nvidia.com/gpu=all" volumes: - "/home/admin/podman/jellyfin:/config" - "/mnt/media/video/movies:/movies:ro" - "/mnt/media/video/tv:/tv:ro" - "/mnt/media/audio/music/flac:/music:ro" - "/mnt/media/video/family:/family:ro" - "/mnt/media/video/anime/tv:/anime-tv:ro" - "/mnt/media/video/anime/movies:/anime-movies:ro" - "/mnt/media/video/livetv:/livetv:ro" ports: - "8096:8096" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: freshrss containers.podman.podman_container: state: quadlet name: podman_freshrss image: lscr.io/linuxserver/freshrss:latest network: bridge volumes: - "/home/admin/podman/freshrss:/config" ports: - "8555:80" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: eclipse-mosquitto containers.podman.podman_container: state: quadlet name: podman_eclipse-mosquitto image: docker.io/eclipse-mosquitto network: bridge volumes: - "/home/admin/podman/eclipse-mosquitto:/mosquitto" ports: - "1883:1883" - "9001:9001" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: frigate containers.podman.podman_container: state: quadlet name: podman_frigate image: "ghcr.io/blakeblackshear/frigate:{{ frigate_version }}" network: bridge device: "nvidia.com/gpu=all" privileged: true volumes: - /etc/localtime:/etc/localtime:ro - /home/admin/podman/frigate:/config - /mnt/services/cctv:/media/frigate - /usr/lib/x86_64-linux-gnu/libcuda.so:/usr/lib/x86_64-linux-gnu/libcuda.so:ro ports: - "5005:5000" - "5001:8971" - "1935:1935" - "8554:8554" env: FRIGATE_RTSP_PASSWORD: "{{ rtsp_password }}" YOLO_MODELS: "yolov7-tiny-288" USE_FP16: "false" quadlet_options: - "Tmpfs=/tmp/cache" - "ShmSize=128mb" - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: nginx-proxy-manager containers.podman.podman_container: state: quadlet name: podman_nginx-proxy-manager image: docker.io/jc21/nginx-proxy-manager:2.10.4 network: bridge privileged: true volumes: - "/home/admin/podman/nginx-proxy-manager:/data" - "/home/admin/podman/letsencrypt:/etc/letsencrypt" ports: - "5080:80" - "5443:443" - "5081:81" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: ddclient containers.podman.podman_container: state: quadlet name: podman_ddclient image: lscr.io/linuxserver/ddclient:latest network: bridge env: TZ: "Europe/London" volumes: - "/home/admin/podman/ddclient:/config" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: gitea containers.podman.podman_container: state: quadlet name: podman_gitea image: docker.io/gitea/gitea:latest network: bridge env: TZ: "Europe/London" DISABLE_REGISTRATION: "true" volumes: - "/home/admin/podman/gitea:/data" - "/etc/timezone:/etc/timezone:ro" - "/etc/localtime:/etc/localtime:ro" ports: - "3001:3000" - "222:22" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: nginx_mektem_com containers.podman.podman_container: state: quadlet name: podman_nginx_mektem_com image: docker.io/nginx:latest network: bridge volumes: - "/home/admin/podman/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" - "/home/admin/podman/nginx/html:/usr/share/nginx/html" ports: "888:80" env: NGINX_HOST: "mektem.com" NGINX_PORT: "80" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: joplin containers.podman.podman_container: state: quadlet name: podman_joplin image: docker.io/joplin/server:latest network: bridge ports: "22300:22300" env: APP_PORT: "22300" APP_BASE_URL: "https://notes.mektem.com" DB_CLIENT: "pg" POSTGRES_PASSWORD: "{{ joplin_password }}" POSTGRES_DATABASE: "joplin-db" POSTGRES_USER: "joplin" POSTGRES_PORT: "5432" POSTGRES_HOST: "{{ ansible_ssh_host }}" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: joplin-db containers.podman.podman_container: state: quadlet name: podman_joplin-db image: docker.io/postgres:15 network: bridge volumes: - "/home/admin/podman/joplin-db:/var/lib/postgresql/data" ports: "5432:5432" env: TZ: "Europe/London" POSTGRES_PASSWORD: "{{ joplin_password }}" POSTGRES_USER: "joplin" POSTGRES_DB: "joplin-db" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: wireguard containers.podman.podman_container: state: quadlet name: podman_wireguard image: lscr.io/linuxserver/wireguard:latest network: bridge privileged: true cap_add: - NET_RAW - NET_ADMIN - SYS_MODULE volumes: - "/home/admin/podman/wireguard:/config" - "/lib/modules:/lib/modules" #optional ports: - "51820:51820/udp" env: TZ: "Europe/London" SERVERURL: "81.99.39.74" SERVERPORT: "51820" PEERS: "FarisIOS,FarisMacbook,SafaPhone" ALLOWEDIPS: "0.0.0.0/0" LOG_CONFS: "true" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: vaultwarden containers.podman.podman_container: state: quadlet name: podman_vaultwarden image: docker.io/vaultwarden/server:latest network: bridge volumes: - "/home/admin/podman/vaultwarden/:/data/" ports: - "8000:80" - "3012:3012" env: TZ: "Europe/London" DOMAIN: "https://vault.mektem.com" SIGNUPS_ALLOWED: "false" EXPERIMENTAL_CLIENT_FEATURE_FLAGS: "ssh-key-vault-item,ssh-agent" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: homeassistant containers.podman.podman_container: state: quadlet name: podman_homeassistant image: ghcr.io/home-assistant/home-assistant:stable network: bridge volumes: - "/home/admin/podman/homeassistant:/config" - "/etc/localtime:/etc/localtime:ro" ports: - "8123:8123" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: rutorrent containers.podman.podman_container: state: quadlet name: podman_rutorrent image: docker.io/crazymax/rtorrent-rutorrent:latest network: bridge volumes: - "/home/admin/podman/rutorrent/passwd:/passwd" - "/home/admin/podman/rutorrent/data:/data" - "/mnt/media/torrents:/downloads" ports: - "8888:8080" - "5000:8000" - "50000:50000" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: prowlarr containers.podman.podman_container: state: quadlet name: podman_prowlarr image: lscr.io/linuxserver/prowlarr:latest network: bridge volumes: - "/home/admin/podman/prowlarr:/config" ports: - "9696:9696" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: sonarr containers.podman.podman_container: state: quadlet name: podman_sonarr image: lscr.io/linuxserver/sonarr:latest network: bridge volumes: - "/home/admin/podman/sonarr:/config" - "/mnt/media/video/tv:/tv" - "/mnt/media/torrents:/downloads" ports: - "8989:8989" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: radarr containers.podman.podman_container: state: quadlet name: podman_radarr image: lscr.io/linuxserver/radarr:latest network: bridge volumes: - "/home/admin/podman/radarr:/config" - "/mnt/media/video/movies:/movies" - "/mnt/media/torrents:/downloads" ports: - "7878:7878" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: readarr containers.podman.podman_container: state: quadlet name: podman_readarr image: lscr.io/linuxserver/readarr:develop network: bridge volumes: - "/home/admin/podman/readarr:/config" - "/mnt/media/books:/books" - "/mnt/media/torrents:/downloads" ports: - "8787:8787" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: lidarr containers.podman.podman_container: state: quadlet name: podman_lidarr image: lscr.io/linuxserver/lidarr:latest network: bridge volumes: - "/home/admin/podman/lidarr:/config" - "/mnt/media/audio/music/flac:/music" - "/mnt/media/torrents:/downloads" ports: - "8686:8686" env: TZ: "Europe/London" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: kiwix containers.podman.podman_container: state: quadlet name: podman_kiwix image: ghcr.io/kiwix/kiwix-serve:latest network: bridge command: "*.zim" volumes: - "/mnt/media/kiwix:/data" ports: - "8088:8080" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: immich-server containers.podman.podman_container: state: quadlet name: podman_immich-server image: "ghcr.io/immich-app/immich-server:{{ immich_version }}" network: bridge device: "nvidia.com/gpu=all" volumes: - "/mnt/services/immich:/usr/src/app/upload" - "/etc/localtime:/etc/localtime:ro" ports: - "2283:2283" env_file: - "/home/admin/podman/.env" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: immich-machine-learning containers.podman.podman_container: state: quadlet name: podman_immich-machine-learning image: "ghcr.io/immich-app/immich-machine-learning:{{ immich_version }}-cuda" network: bridge device: "nvidia.com/gpu=all" volumes: - "/home/admin/podman/immich/cache:/cache" env_file: - "/home/admin/podman/.env" ports: - "3003:3003" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: immich-redis containers.podman.podman_container: state: quadlet name: podman_immich-redis image: registry.hub.docker.com/library/redis:6.2-alpine network: bridge ports: - "6379:6379" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: immich-db containers.podman.podman_container: state: quadlet name: podman_immich-db image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0 network: bridge env: POSTGRES_PASSWORD: "{{ immich_db_password }}" POSTGRES_USER: postgres POSTGRES_DB: immich volumes: - "/home/admin/podman/immich/db:/var/lib/postgresql/data" ports: - "5433:5432" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target - name: metube containers.podman.podman_container: state: quadlet name: podman_metube image: ghcr.io/alexta69/metube:latest volumes: - "/mnt/media/youtube-dl:/downloads" - "/mnt/media/audio/music/flac:/music" ports: - "8081:8081" env: AUDIO_DOWNLOAD_DIR: "/music" quadlet_options: - "AutoUpdate=registry" - "Pull=newer" - | [Service] Restart=always TimeoutStartSec=900 [Install] WantedBy=default.target