{ pkgs, config, lib, ... }: { virtualisation.oci-containers.containers."rustypaste" = { image = "orhunp/rustypaste:latest"; environment = { "RUST_LOG" = "debug"; }; environmentFiles = [ config.age.secrets.rustypaste.path ]; volumes = [ "${(pkgs.formats.toml { }).generate "conf" (import ./conf.nix)}:/app/config.toml:ro" "test_rustypaste-data:/app/upload:rw" ]; ports = [ "8000:8000/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=rustypaste" "--network=test_default" ]; }; systemd.services."podman-rustypaste" = { serviceConfig = { Restart = lib.mkOverride 500 "always"; }; after = [ "podman-network-test_default.service" "podman-volume-test_rustypaste-data.service" ]; requires = [ "podman-network-test_default.service" "podman-volume-test_rustypaste-data.service" ]; partOf = [ "podman-compose-test-root.target" ]; wantedBy = [ "podman-compose-test-root.target" ]; }; systemd.services."podman-volume-test_rustypaste-data" = { path = [ pkgs.podman ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; }; script = '' podman volume inspect test_rustypaste-data || podman volume create test_rustypaste-data ''; partOf = [ "podman-compose-test-root.target" ]; wantedBy = [ "podman-compose-test-root.target" ]; }; }