Managing the ostserver service

ostserver runs in the background as a systemd service. Systemd is Linux’s service manager: it automatically starts ostserver when the machine boots, restarts it if it crashes, and lets you control it with a few simple commands.


Start, stop, restart

# Start the service
sudo systemctl start ostserver

# Stop the service
sudo systemctl stop ostserver

# Restart the service (useful after changing options)
sudo systemctl restart ostserver

# Check the service status
sudo systemctl status ostserver

Enable / disable automatic startup

By default, the service is enabled: it starts automatically every time the machine boots.

# Disable automatic startup
sudo systemctl disable ostserver

# Re-enable automatic startup
sudo systemctl enable ostserver

View logs

# Show recent logs
sudo journalctl -u ostserver

# Follow logs in real time
sudo journalctl -u ostserver -f

# Limit to the last 100 lines
sudo journalctl -u ostserver -n 100

Customize startup options

During installation, a configuration file is created in your home directory:

~/.ost/ostserver.parms

This file contains one argument per line. Lines starting with # are comments and are ignored. Spaces in values are supported natively — no quoting is needed.

To edit it:

nano ~/.ost/ostserver.parms

Example content:

# Web server media folder (must be writable)
--webroot=/var/lib/osterix/media

# Start embedded INDI server (Y/N)
--indiserver=Y

# Log level: 0=debug, 1=info, 2=warning, 3=error, 4=critical
--loglevel=1

# Security level: 0=disabled, 1=read only, 2=user grants
--grant=0

# Frontend banner text (spaces are allowed, no quoting needed)
--banner=My headless observatory

After any change, restart the service for it to take effect:

sudo systemctl restart ostserver
File preserved on upgrades

The ostserver.parms file is never overwritten when the package is upgraded. Your customizations are always kept.


Available options reference

OptionDefaultDescription
--webroot=<path>/var/lib/osterix/mediaMedia folder served by nginx
--indiserver=Y|NNStart the embedded INDI server
--loglevel=<0-4>1Log verbosity: 0=debug, 1=info, 2=warning, 3=error, 4=critical
--logfile=<path>(timestamped in ~/.ost/)Log file path
--grant=<0|1|2>Security: 0=disabled, 1=read only, 2=user grants
--lng=<fr|en|...>frInterface language (fr, en, de, it, es)
--banner=<text>Observatoire Sans têteBanner displayed in the frontend
--configuration=<name>defaultConfiguration name to load at startup
--libpath=<path>(system path)Directory for .so module files
--dbpath=<path>(working directory)Database location
--systemwatchinterval=<s>10System resource watch interval in seconds (0 to disable)
--minfree=<0-99>10Minimum free disk space in % before skipping image write
--ssl=Y|NNEnable SSL for the WebSocket server
--sslcert=<path>/etc/ost/server.crtSSL certificate file
--sslkey=<path>/etc/ost/server.keySSL private key file
--setadminpassword=<pwd>Set the administrator password (remove this line after use)