[Unit] Description=llmgw model mirror After=network-online.target Wants=network-online.target [Service] # --base is what a catalog entry will say, so it has to be the address nodes # reach this machine on — not localhost, and not the name only this host knows # itself by. Getting it wrong makes `mirror unused` report files as unreferenced # when they are in use, and the next step after that list is deletion. ExecStart=/usr/local/bin/llmgw mirror serve \ --dir /srv/models \ --listen :8081 \ --api-listen :8082 \ --base http://models.internal:8081 User=llmgw Group=llmgw Restart=on-failure RestartSec=2s NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true # The one writable path. The mirror serves reads to the whole fleet and writes # only what its own API was asked to fetch, so nothing else needs to be. ReadWritePaths=/srv/models [Install] WantedBy=multi-user.target