[Unit] Description=Genarrative External Generation Worker %i After=network-online.target spacetimedb.service Wants=network-online.target Requires=spacetimedb.service [Service] Type=simple User=genarrative Group=genarrative WorkingDirectory=/opt/genarrative/current EnvironmentFile=/etc/genarrative/api-server.env EnvironmentFile=-/etc/genarrative/external-generation-worker.env ExecStart=/usr/bin/env GENARRATIVE_PROCESS_ROLE=external-generation-worker GENARRATIVE_EXTERNAL_GENERATION_WORKER_ID=%H-%i GENARRATIVE_TRACKING_OUTBOX_DIR=/var/lib/genarrative/tracking-outbox/%H-%i OTEL_SERVICE_NAME=genarrative-external-generation-worker /opt/genarrative/current/api-server Restart=always RestartSec=5 KillSignal=SIGINT TimeoutStopSec=7200 LimitNOFILE=65535 TasksMax=2048 # worker 复用 api-server 发布目录;外部生成审计与临时运行态只写服务端私有目录。 NoNewPrivileges=true PrivateTmp=true ProtectSystem=full ReadWritePaths=/opt/genarrative /var/lib/genarrative [Install] WantedBy=multi-user.target