Server Setup

Turn any fresh Linux server into your own deployment platform. This guide will walk you through the installation process using our automated setup script.

Before you start

Make sure your server meets these requirements:

  • OS: A modern Linux distribution (Ubuntu 22.04+ recommended) with systemd.
  • Access: Root access or a user with sudo privileges.
  • Network: Ports 22 (SSH/Git), 80 (HTTP), and 443 (HTTPS) must be open.
  • Domain: A domain (or subdomain) pointed at your server’s public IP address.

Note on Docker: You don’t need to install Docker yourself. Our script will handle it for you. If you already have Docker installed, ensure it is version 24 or newer.

One-Command Installation

Run the following command as root or a sudo-capable user to provision your platform:

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

What this script does

To ensure a smooth setup, the script performs several automated steps:

  • Installs Docker and its necessary plugins if they’re missing.
  • Configures OpenSSH and ufw (firewall) for secure access.
  • Downloads the Slasha binary to /usr/local/bin/slasha.
  • Creates a dedicated slasha system user for isolated execution.
  • Generates a JWT secret and configures your platform domain.
  • Registers a systemd service so Slasha starts automatically on boot.

Once finished, the script will print your Dashboard URL. Open it in your browser to create your first admin account.

Managing the Service

After installation, you can manage the Slasha service using standard systemctl commands:

# Check if Slasha is running
sudo systemctl status slasha

# View live logs
sudo journalctl -u slasha -f

# Restart the service
sudo systemctl restart slasha

Configuration

Your server settings are stored in /etc/slasha/.env. You can edit this file at any time to update your domain, secrets, or other environment variables. Remember to restart the service after making changes.

For a full list of configuration options, see the Server Configuration reference.

Data & Backups

Slasha keeps all its data in a single directory, making backups simple:

  • Production Data: /var/lib/slasha/
  • Database: /var/lib/slasha/slasha.db (SQLite)
  • Git Repos: /var/lib/slasha/repos/
  • Logs: /var/lib/slasha/logs/

Upgrading Slasha

To upgrade to the latest version, simply re-run the installation script:

curl -fsSL https://slasha.com/setup.sh | bash
sudo systemctl restart slasha

Alternative: Running with Docker

If you’d rather not use the host-based setup script, you can run Slasha inside a Docker container. The official GitHub repository ships a Dockerfile and docker-compose.yml you can clone and run on your server.

Two things to know when running in Docker:

  • SSH port: the built-in Git SSH server listens on 2222 (not 22) to avoid clashing with the host’s SSH. Your Git remotes use ssh://git@your-server:2222/your-app.
  • Manual infrastructure: you’re responsible for host setup yourself — systemd units, firewall rules (ufw), and security policies are not configured for you.