# Auto-generated using compose2nix v0.3.1. { pkgs, lib, ... }: { # Runtime virtualisation.docker = { enable = true; autoPrune.enable = true; }; virtualisation.oci-containers.backend = "docker"; # Containers virtualisation.oci-containers.containers."homepage" = { image = "ghcr.io/gethomepage/homepage:latest"; volumes = [ "/home/rae/.dotfiles/assets/wallpapers:/app/public/images:rw" "/home/rae/.dotfiles/configs/homepage:/app/config:rw" "/var/run/docker.sock:/var/run/docker.sock:rw" ]; ports = [ "3000:3000/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=homepage" "--network=homepage_default" ]; }; systemd.services."docker-homepage" = { serviceConfig = { Restart = lib.mkOverride 90 "no"; }; after = [ "docker-network-homepage_default.service" ]; requires = [ "docker-network-homepage_default.service" ]; partOf = [ "docker-compose-homepage-root.target" ]; wantedBy = [ "docker-compose-homepage-root.target" ]; }; # Networks systemd.services."docker-network-homepage_default" = { path = [ pkgs.docker ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStop = "docker network rm -f homepage_default"; }; script = '' docker network inspect homepage_default || docker network create homepage_default ''; partOf = [ "docker-compose-homepage-root.target" ]; wantedBy = [ "docker-compose-homepage-root.target" ]; }; # Root service # When started, this will automatically create all resources and start # the containers. When stopped, this will teardown all resources. systemd.targets."docker-compose-homepage-root" = { unitConfig = { Description = "Root target generated by compose2nix."; }; wantedBy = [ "multi-user.target" ]; }; }