29 lines
1.1 KiB
Desktop File
29 lines
1.1 KiB
Desktop File
[Unit]
|
|
Description=Genarrative External Generation Worker Controller
|
|
After=network-online.target spacetimedb.service
|
|
Wants=network-online.target
|
|
Requires=spacetimedb.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
WorkingDirectory=/opt/genarrative/current
|
|
EnvironmentFile=/etc/genarrative/api-server.env
|
|
EnvironmentFile=-/etc/genarrative/external-generation-controller.env
|
|
Environment="LD_LIBRARY_PATH=/opt/genarrative/openssl-3.2.0/lib64:/opt/genarrative/openssl-3.2.0/lib"
|
|
ExecStart=/usr/bin/env GENARRATIVE_PROCESS_ROLE=external-generation-controller GENARRATIVE_TRACKING_OUTBOX_DIR=/var/lib/genarrative/tracking-outbox/controller OTEL_SERVICE_NAME=genarrative-external-generation-controller /opt/genarrative/current/api-server
|
|
Restart=always
|
|
RestartSec=5
|
|
KillSignal=SIGINT
|
|
TimeoutStopSec=120
|
|
LimitNOFILE=65535
|
|
TasksMax=512
|
|
|
|
# controller 需要调用 systemctl 管理 worker@N 实例,因此不降为 genarrative 用户。
|
|
# 它只复用 api-server 发布包和 SpacetimeDB 配置,不直接执行外部生成任务。
|
|
PrivateTmp=true
|
|
ProtectSystem=full
|
|
ReadWritePaths=/opt/genarrative /var/lib/genarrative
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|