Server Configuration

Slasha is designed to be highly self-contained. The platform itself is configured through a single .env file and stores all its state in a single data directory.

Platform Environment Variables

The server's core configuration lives in /etc/slasha/.env (or in your environment if running via Docker Compose). Whenever you change these values, you must restart the Slasha service.

VariableRequiredDefaultDescription
SLASHA_PLATFORM_DOMAINYesThe root domain your Slasha instance runs on (e.g. slasha.example.com). Apps are reachable at <slug>.<SLASHA_PLATFORM_DOMAIN> by default.
JWT_SECRETYesSecret used to sign authentication tokens. Use a long random string. Changing this invalidates all existing sessions (everyone is logged out).
SLASHA_ENVNodevelopmentSet to production on a live server. Affects logging behaviour and verbosity.
SLASHA_PORTNo3000Port the Slasha HTTP server listens on internally. The reverse proxy forwards traffic on 80/443 to this port.

Data Directories

All persistent state, including the SQLite database, bare Git repositories, and logs, are stored in a central location:

  • Production: /var/lib/slasha
  • Development: ~/.slasha

Backing up this directory is sufficient to completely back up the Slasha platform state (excluding app service databases and volumes, which are stored in Docker volumes).

Managing the systemd Service

If you installed Slasha using the setup script, it is managed by systemd as slasha.service.

# Check platform status
sudo systemctl status slasha

# View platform logs (including API and Proxy logs)
sudo journalctl -u slasha -f

# Restart the platform
sudo systemctl restart slasha

# Stop the platform
sudo systemctl stop slasha

Upgrading Slasha

The easiest way to upgrade the platform to the latest version is to re-run the setup script. It safely downloads the new binary and restarts the service without affecting your running application containers.

curl -fsSL https://slasha.example.com/setup.sh | bash

Alternatively, you can manually replace the binary at /usr/local/bin/slasha and restart the service.