Install safely
Download the installer, inspect it, and preview its host changes before running it:--service auto selection is:
Select a mode explicitly with
--service systemd, --service systemd-user, or
--service none. Run bash comis-install.sh --help for the complete set of
service, browser, and autostart options.
The system service normally keeps data and configuration under
/home/comis/.comis; the exact service home is resolved from the selected user.
Its environment file is /etc/comis/env. The user service uses ~/.comis for
data, configuration, and its environment file.
The installer can provision an Xvfb companion only for a system service. A
systemd-user install explicitly uses headless browser mode and does not render
a comis-xvfb.service dependency or DISPLAY=:99. For installer-managed headed
mode, use a root system-service install.Manage the service
For a system service:Managed unit contract
The installer renders one checksum-taggedcomis.service unit. It refuses to
overwrite a unit whose managed body was edited by hand.
KillMode=process has a deliberate tradeoff: after a hard crash, another
long-lived child can remain briefly until the daemon restarts. Graceful shutdown
still cleans up registered children, and terminal sandbox children use their own
parent-death behavior.
When system-scope Xvfb provisioning succeeds, the installer also writes
/etc/systemd/system/comis-xvfb.service. The two services share only the X11
socket through /run/comis-x11; the daemon sees that socket read-only.
Configuration and overrides
Prefer rerunning the reviewed installer when the installed binary path, service identity, browser mode, or hardening contract changes. A managed unit includes a checksum; if its body has been edited, the installer leaves it untouched and reports how to regenerate it. Use a systemd drop-in for an intentional local override instead of editing the managed unit:systemctl --user edit,
daemon-reload, and restart commands. Review overrides carefully: changing
the service type, kill mode, namespace policy, or write paths can disable
restart behavior, durable terminals, or command isolation.
After changing /etc/comis/env for a system service or ~/.comis/env for a
user service, restart the matching unit. Do not place credentials in
config.yaml; use Comis’s secret-management flow.
Troubleshooting
Inspect the rendered unit and recent logs before changing it:--user to systemctl and journalctl as shown above.
If repeated startup failures reached the unit’s start limit, fix the reported
cause and clear the failed state:
Related pages
Linux installation
Install Comis and review Linux-specific dependencies.
Daemon
Understand startup, health, and shutdown behavior.
Node permissions
Review the runtime permission boundary and compatibility tradeoffs.
Docker
Run Comis without a host systemd unit.
