-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsoulfield.service
More file actions
91 lines (79 loc) · 1.92 KB
/
soulfield.service
File metadata and controls
91 lines (79 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Systemd Unit File for Soulfield OS
# Installation: sudo cp soulfield.service /etc/systemd/system/
# Enable: sudo systemctl enable soulfield
# Start: sudo systemctl start soulfield
# Status: sudo systemctl status soulfield
[Unit]
Description=Soulfield OS - AI Orchestration System
Documentation=https://github.com/your-org/soulfield
After=network.target
[Service]
Type=simple
User=michael
Group=michael
WorkingDirectory=/home/michael/soulfield
# Environment
Environment="NODE_ENV=production"
Environment="PORT=8790"
Environment="LENS_ENFORCEMENT_MODE=adaptive"
Environment="LENS_AUTO_FIX=true"
Environment="LENS_VERBOSE_ERRORS=false"
# Load additional environment variables from .env
EnvironmentFile=/home/michael/soulfield/.env
# Execution
ExecStart=/usr/bin/node /home/michael/soulfield/backend/index.cjs
ExecReload=/bin/kill -HUP $MAINPID
# Restart Policy
Restart=always
RestartSec=10
StartLimitInterval=200
StartLimitBurst=5
# Resource Limits
MemoryLimit=2G
CPUQuota=100%
TasksMax=512
# Security Hardening
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/michael/soulfield/workspace
ReadWritePaths=/home/michael/soulfield/logs
ReadWritePaths=/tmp
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=soulfield-os
# Graceful Shutdown
TimeoutStopSec=30
KillMode=mixed
KillSignal=SIGTERM
[Install]
WantedBy=multi-user.target
# Usage Instructions:
#
# Install:
# sudo cp soulfield.service /etc/systemd/system/
# sudo systemctl daemon-reload
#
# Enable on boot:
# sudo systemctl enable soulfield
#
# Start service:
# sudo systemctl start soulfield
#
# Check status:
# sudo systemctl status soulfield
#
# View logs:
# sudo journalctl -u soulfield -f
# sudo journalctl -u soulfield --since "1 hour ago"
#
# Stop service:
# sudo systemctl stop soulfield
#
# Restart service:
# sudo systemctl restart soulfield
#
# Disable service:
# sudo systemctl disable soulfield