Server Installation
Install Slipway on your VPS with a single command.
One-Line Install
SSH into your server and run:
curl -fsSL https://raw.githubusercontent.com/sailscastshq/slipway/main/install.sh | bashThis script will:
- Check for Docker (install if missing)
- Create the
slipwayDocker network - Detect your server's public IP
- Generate secrets (
SESSION_SECRETandDATA_ENCRYPTION_KEY) and save them to/etc/slipway/.env - Start the Caddy reverse proxy
- Pull and start the Slipway dashboard
- Display your access URL
What Gets Installed
| Component | Purpose |
|---|---|
| Caddy | Reverse proxy with automatic HTTPS |
| Slipway | The dashboard application |
| Docker Network | Isolated network for Slipway and deployed apps |
Installation Output
After running the install script, you'll see something like:
Installing Slipway...
Docker already installed
Creating Docker network...
Network ready
Detecting server IP...
Server URL: http://203.0.113.50:1337
Generating secrets...
Secrets generated and saved to /etc/slipway/.env
Starting Caddy proxy...
Caddy proxy running
Pulling latest Slipway image...
Starting Slipway dashboard...
Slipway dashboard running
Waiting for Slipway to start...
========================================================
Slipway installed successfully!
========================================================
Dashboard: http://203.0.113.50:1337
Next steps:
1. Open the dashboard URL above to complete setup
2. Point a domain to this server (e.g., slipway.yourdomain.com)
3. SSL will be configured automatically when you add a domain
To deploy apps, install the CLI:
npm install -g slipway-cli
slipway login --server http://203.0.113.50:1337
========================================================TIP
The actual output uses colored text to highlight status messages. Green indicates success, yellow indicates warnings.
Accessing Slipway
After installation, access your Slipway dashboard at:
http://YOUR_SERVER_IP:1337Before Custom Domain
Until you configure a custom domain, Slipway runs on port 1337 with HTTP. For production use, you should configure a custom domain to enable HTTPS.
Manual Installation
If you prefer to install manually or customize the setup:
1. Install Docker
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker2. Create Network
docker network create slipway3. Generate Secrets
SESSION_SECRET=$(openssl rand -hex 32)
DATA_ENCRYPTION_KEY=$(openssl rand -base64 32)
# Persist secrets for future updates
sudo mkdir -p /etc/slipway
echo "SESSION_SECRET=$SESSION_SECRET" | sudo tee /etc/slipway/.env
echo "DATA_ENCRYPTION_KEY=$DATA_ENCRYPTION_KEY" | sudo tee -a /etc/slipway/.env
sudo chmod 600 /etc/slipway/.env4. Start Caddy
docker run -d \
--name slipway-proxy \
--network slipway \
--restart unless-stopped \
-p 80:80 \
-p 443:443 \
-p 1337:1337 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v slipway-certs:/data \
-e CADDY_INGRESS_NETWORKS=slipway \
lucaslorentz/caddy-docker-proxy:latest5. Start Slipway
docker run -d \
--name slipway \
--network slipway \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v slipway-db:/app/db \
-e NODE_ENV=production \
-e PORT=1337 \
-e SLIPWAY_URL="http://YOUR_SERVER_IP:1337" \
-e SESSION_SECRET="$SESSION_SECRET" \
-e DATA_ENCRYPTION_KEY="$DATA_ENCRYPTION_KEY" \
-l "caddy=:1337" \
ghcr.io/sailscastshq/slipway:latestTroubleshooting
Docker Permission Denied
If you see permission errors, add your user to the docker group:
sudo usermod -aG docker $USER
# Log out and back in for changes to take effectPort Already in Use
If port 1337, 80, or 443 is already in use:
# Find what's using the port
sudo lsof -i :1337
# Stop the conflicting service or change Slipway's portContainer Won't Start
Check the logs:
docker logs slipway
docker logs slipway-proxyWhat's Next?
Once Slipway is installed, proceed to Initial Setup to create your admin account and configure your instance.