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.
| Variable | Required | Default | Description |
|---|---|---|---|
SLASHA_PLATFORM_DOMAIN | Yes | — | The root domain your Slasha instance runs on (e.g. slasha.example.com). Apps are reachable at <slug>.<SLASHA_PLATFORM_DOMAIN> by default. |
JWT_SECRET | Yes | — | Secret used to sign authentication tokens. Use a long random string. Changing this invalidates all existing sessions (everyone is logged out). |
SLASHA_ENV | No | development | Set to production on a live server. Affects logging behaviour and verbosity. |
SLASHA_PORT | No | 3000 | Port 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 slashaUpgrading 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 | bashAlternatively, you can manually replace the binary at /usr/local/bin/slasha and restart the service.