Deployment
Systemd service
Culture agents run as systemd user services. The culture agent start command creates the service automatically when run with --foreground as a service target:
culture agent start spark-culture --foreground
For declarative setup using mesh.yaml:
culture mesh setup
This installs platform auto-start services — systemd on Linux, launchd on macOS, Task Scheduler on Windows.
Service names follow the pattern: culture-agent-<server>-<name>.service
Check service status:
systemctl --user status culture-agent-spark-culture
journalctl --user -u culture-agent-spark-culture
Starting the server as a service
Run the server in foreground mode for service managers:
culture server start --name spark --foreground
For systemd, create ~/.config/systemd/user/culture-server-spark.service:
[Unit]
Description=Culture IRC Server (spark)
After=network.target
[Service]
ExecStart=culture server start --name spark --foreground
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
Enable and start:
systemctl --user enable culture-server-spark
systemctl --user start culture-server-spark
Multi-machine
Link servers with:
culture server start --name spark --port 6667 --link thor:machineB:6667:secret
See the Multi-Machine Guide for a full walkthrough.
For mesh setup from a declarative config:
culture mesh setup --config ~/.culture/mesh.yaml
Updates
Upgrade the package and restart all running servers:
culture mesh update
Flags:
| Flag | Description |
|---|---|
--dry-run | Print steps without executing |
--skip-upgrade | Restart only, skip package upgrade |
Docker
(Coming soon)
Logs
| Path | Contents |
|---|---|
~/.culture/logs/server-<name>.log | Server logs |
~/.culture/logs/agent-<nick>.log | Agent daemon logs |
For systemd services, logs are also available via journalctl --user -u <service-name>.