Skip to content

Outline on a VPS

Shadowsocks server

Category
VPN / Proxy
Hosting
VPN server
Author
Outline Foundation (formerly Jigsaw, Google)
License
Apache-2.0
Version
1.12.3

The script is free · VPS from $2.79 per month · installs in about 2 minutes

Install over SSH

root@vps:~# sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)" install_server.sh --api-port 8443 --keys-port 8388

  • SystemUbuntu 24.04 · x86_64ok
  • Sourcegithub.com/OutlineFoundation/outline-serverok
  • Version1.12.3ok
  • Port8443/tcplisten
  • Port8388/tcp/udplisten

✓ Outline 1.12.3 installed · about 2 minutes

root@vps:~#

Install command from the library. Output is shortened and may differ on your server.

What it is

  • Shadowsocks
  • Access keys
  • Outline Manager

Outline is a Shadowsocks-based VPN: access is shared via keys, and you can manage the server from the Outline Manager app without the command line.

Shadowsocks in Outline resists probing and traffic analysis: mandatory AEAD ciphers, replay protection and variable packet sizes. The Outline client is available for Windows, macOS, Linux, Android and iOS.

The script installs the server in Docker along with Watchtower, which updates it automatically. Each person can get their own key and traffic limit.

  • Key-based access: one key per person
  • Management from the Outline Manager app
  • Per-key traffic limits
  • Shadowsocks with probing protection
  • Auto-updates via Watchtower

Recommended plan

For Outline: at least 1 vCPU, 2 GB RAM and 10 GB NVMe.

Minimum to run
1 vCPU · 1 GB RAM · 10 GB disk
Systems
Ubuntu 22.04 · Ubuntu 24.04 · Debian 12

How to install

Three steps in the bot or one command over SSH; installation takes about 2 minutes.

  1. 01

    Choose a plan in the bot

    Open @ExpressHost_bot and pay for a VPS. The server will be ready in about 60 seconds.

  2. 02

    Add Outline

    At the “Add-ons” step pick the script from the library, or run it later: Server settings → Scripts.

  3. 03

    Finish the setup

    Copy the green line {"apiUrl":...,"certSha256":...} from the end of the output

Manually over SSH

Connect to the server as root and run the command. Supported systems: Ubuntu 22.04, Ubuntu 24.04, Debian 12.

Install command
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)" install_server.sh --api-port 8443 --keys-port 8388

Ports

Outline ports
PortProtocolPurpose
8443tcpManagement API for Outline Manager (set by the `--api-port` flag)
8388tcp/udpAccess key port (set by the `--keys-port` flag)

After installation

  1. 1.Copy the green line {"apiUrl":...,"certSha256":...} from the end of the output
  2. 2.Paste it into Outline Manager on your computer: "Add server" → "Set up Outline anywhere"
  3. 3.Create access keys and send them to users; they connect with the Outline Client app

Outline FAQ

Didn’t find an answer? Message @ExpressHost_SupportBot.

Why the `--api-port` and `--keys-port` flags?

Without them the script picks random ports. With the flags the ports are known in advance and are easier to open in the firewall.

How do I update Outline?

Nothing to do manually: the Watchtower container pulls new server versions automatically.

Where is the data stored?

In /opt/outline: the server state, keys and the access.txt file with the API address and certificate fingerprint.

Outline installs at checkout — in the bot.