- Create systemd + launchd service templates in resources/ - Add gyandoot-core/src/service.rs module with full lifecycle - systemd: user service, daemon-reload, enable, start, stop, disable - launchd: macOS plist, load/unload, start/stop (launchctl) - Add 'gyandoot service install|remove|status' CLI subcommand - Update setup wizard: prompts 'Install system service? [y/N]' - Update install.sh: prompts user for service install after binary - Browser auto-starts at runtime (browser_manager), no separate service needed - Camoufox installed via npm, auto-started by GyanDoot agent loop
31 lines
761 B
Desktop File
31 lines
761 B
Desktop File
[Unit]
|
|
Description=GyanDoot v2.0 — AI Agent Platform
|
|
Documentation=https://git.gyannetra.in/gnpl_admin/gyandoot-v2
|
|
After=network.target network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=%USER%
|
|
Group=%GROUP%
|
|
ExecStart=%BINARY% serve --host 127.0.0.1 --port 8777
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
TimeoutStopSec=10
|
|
KillMode=mixed
|
|
StandardOutput=append:%HOME%/.gyandoot/service.log
|
|
StandardError=append:%HOME%/.gyandoot/service.log
|
|
|
|
# Environment
|
|
Environment=GYANDOOT_CONFIG=%HOME%/.config/gyandoot/config.toml
|
|
Environment=GYANDOOT_LOG=info
|
|
|
|
# Security hardening
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
ProtectHome=read-only
|
|
ProtectSystem=strict
|
|
ReadWritePaths=%HOME%/.gyandoot %HOME%/.config/gyandoot
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target |