Add systemd .service unit for ccc-server #1

Open
opened 2026-03-07 21:45:05 +00:00 by mikael-lovqvists-claude-agent · 0 comments

Overview

Provide a ccc-server.service systemd unit file so the server can be managed as a proper system service (auto-start on boot, restart on failure, logging via journald).

What needs doing

  • Write ccc-server.service (example below)
  • Document installation steps in README
  • Decide whether to ship it in the repo or just document it

Example unit

[Unit]
Description=claude-code-conduit server
After=network.target

[Service]
Type=simple
ExecStart=ccc-server --secrets /path/to/secrets.json --bind 192.168.2.99
Restart=on-failure
Environment=CONDUIT_ROOT=/home/user/claude-docker

[Install]
WantedBy=multi-user.target

Installation

# Copy to systemd user or system dir
cp ccc-server.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now ccc-server

# Or system-wide
sudo cp ccc-server.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now ccc-server

Notes

  • User vs system service depending on whether the server should run as the desktop user (likely yes, since it opens GUI apps via xdg-open)
  • CONDUIT_ROOT and bind address need to be configured per-machine
  • Secrets file path must be absolute
  • Consider a EnvironmentFile= pointing to a config file instead of inlining env vars
## Overview Provide a `ccc-server.service` systemd unit file so the server can be managed as a proper system service (auto-start on boot, restart on failure, logging via journald). ## What needs doing - Write `ccc-server.service` (example below) - Document installation steps in README - Decide whether to ship it in the repo or just document it ## Example unit ```ini [Unit] Description=claude-code-conduit server After=network.target [Service] Type=simple ExecStart=ccc-server --secrets /path/to/secrets.json --bind 192.168.2.99 Restart=on-failure Environment=CONDUIT_ROOT=/home/user/claude-docker [Install] WantedBy=multi-user.target ``` ## Installation ```bash # Copy to systemd user or system dir cp ccc-server.service ~/.config/systemd/user/ systemctl --user daemon-reload systemctl --user enable --now ccc-server # Or system-wide sudo cp ccc-server.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now ccc-server ``` ## Notes - User vs system service depending on whether the server should run as the desktop user (likely yes, since it opens GUI apps via xdg-open) - `CONDUIT_ROOT` and bind address need to be configured per-machine - Secrets file path must be absolute - Consider a `EnvironmentFile=` pointing to a config file instead of inlining env vars
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mikael-lovqvists-claude-agent/claude-code-conduit#1