{ config, pkgs, lib, ... }: with lib; let # Container config name = "homepage"; # Version tagging homepageVersion = "v1.10.1"; # Helper helper = import ../service-helper.nix { inherit config pkgs lib; }; cfg = config.numbus-server.services.homepage; in helper.mkPodmanService { inherit name; description = "Homepage, a modern and highly customizable application dashboard"; defaultPort = "3003"; middlewares = [ "secureHeaders" ]; dirPermissions = [ "100999:100 ${cfg.configDir}" "100999:100 ${cfg.configDir}/config" "100999:100 ${cfg.configDir}/images" "100999:100 ${cfg.configDir}/icons" ]; composeText = '' services: homepage: image: ghcr.io/gethomepage/homepage:${homepageVersion} container_name: homepage hostname: homepage user: '1000:1000' networks: homepage: ports: - "${cfg.port}:3000/tcp" volumes: - ${cfg.configDir}/config:/app/config - ${cfg.configDir}/images:/app/public/images - ${cfg.configDir}/icons:/app/public/icons environment: PUID: 1000 PGID: 1000 HOMEPAGE_ALLOWED_HOSTS: ${cfg.subdomain}.${config.numbus-server.services.domain} security_opt: - no-new-privileges:true cap_drop: - NET_RAW restart: unless-stopped networks: homepage: driver: bridge name: homepage ipam: config: - subnet: "10.89.220.0/24" gateway: "10.89.220.254" ''; }