Here is a clear and complete Wiki-style guide for installing and managing Outline Server and Manager on a Linux server (Ubuntu-based) using Docker:
🛡️ Outline VPN Installation & Management Guide (Linux + Docker)
📋 Overview
Outline is a secure VPN built on Shadowsocks, easy to set up and manage. This guide walks you through:
- Installing Outline Server
- Managing it via Outline Manager
- Making configuration tweaks
- Reinstalling/Resetting the setup if needed
⚙️ Requirements
- A Linux server (Ubuntu 20.04/22.04 preferred)
- Root or sudo privileges
- Docker installed and running
🚀 Installation Steps
1. Install Outline Server
Run the following command to install the Outline Server:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
This will:
- Verify Docker is installed and running
- Set your public IP
- Generate TLS certificates and secret keys
- Start the
shadowbox(VPN server) andwatchtower(auto-updates) - Create your first access key
✅ If successful, you’ll see:
CONGRATULATIONS! Your Outline server is up and running.
You’ll get something like this:
{"apiUrl":"https://<your-server-ip>:5874/<token>","certSha256":"<sha256-fingerprint>"}
📌 Copy this line — you’ll need it in Outline Manager.
📱 Install Outline Manager (Desktop GUI)
Download from: https://getoutline.org
Available for:
- Windows
- macOS
- Linux (AppImage or .deb)
📌 Paste the connection line from above into Step 2 of the Outline Manager interface to connect and manage your server.
📲 Install Outline Client (to Connect to VPN)
Also available at: https://getoutline.org
Use the access key generated in Outline Manager to connect your devices (Windows, Android, iOS, macOS).
🔧 Optional Configuration
A. Set server hostname (optional)
sudo hostnamectl set-hostname outline-server
B. Force Shadowbox to listen on all interfaces
Edit the Shadowbox config:
sudo sed -i 's/"hostname":.*/"hostname": "0.0.0.0",/g' /opt/outline/persisted-state/shadowbox_config.json
Restart services:
docker stop shadowbox watchtower
docker start shadowbox watchtower
C. Tune Docker Networking (Optional IPv6, iptables settings)
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"ipv6": false,
"iptables": true,
"userland-proxy": false
}
EOF
sudo systemctl restart docker
Then restart Outline containers:
docker start shadowbox watchtower
🔁 Reinstallation / Resetting Outline Server
If you need to reinstall Outline:
docker stop shadowbox watchtower
docker rm shadowbox watchtower 2>/dev/null
sudo rm -rf /opt/outline 2>/dev/null
Then re-run the installation script:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
🔓 Firewall Ports to Open
Ensure these ports are open in your firewall/router/cloud provider:
| Port | Protocol | Purpose |
|---|---|---|
| 5874 | TCP | Management API |
| 21680 | TCP/UDP | VPN Access Keys |
📖 Notes
- The Outline Server will auto-update via Watchtower.
- You can create/revoke keys and monitor data usage in Outline Manager.
- You can use custom domain and Let’s Encrypt manually if needed.