Getting started with Self-managed VPS

Overview

The following instructions describe how to set up a Self-managed VPS in the DreamHost panel.

Background

Self-managed VPS gives you full root access to a Linux environment. DreamHost maintains the underlying hardware and network infrastructure. The server environment, including configuration, maintenance, and security, is managed by you. 

Please note the following:

  • VPS vs Self-Managed VPS — Self-managed VPS is a different product from Managed VPS. It does not include server management, automated backups, or application-level support. You are responsible for configuring, maintaining, and securing your server environment. If your primary goal is improving website performance rather than running custom applications, Managed VPS may be a better fit.
  • Refunds —  Self-managed VPS does not include a 30-day money-back guarantee. See this page article for details.

Configuring a Self-Managed VPS

To purchase and configure a Self-managed VPS:

  1. Navigate to the Servers & Usage page.
  2. Click the +Add Service button. A pop-up displays.
  3. Select Self-Managed VPS from the list. The Self-Managed VPS page opens.
  4. On this page select:
    • A billing term: Monthly, Yearly, 2 Years
    • Plan size: Stack 4, 8, 16, or 32
  5. Click Select Plan. A cart page opens with your order.
  6. Under the Select Your Configuration section, choose a Base OS or App image.

    • Base OS  Debian is the default OS. You can also choose Ubuntu or AlmaLinux.
    • Apps  Choose app images to add to your server.

    This selection cannot be changed after the server launches without reprovisioning.

  7. Under the Secure VPS Access section, choose an authentication method:

    The authentication method's credentials you choose are set during provisioning and are not stored by DreamHost. 

    Make sure to save your credentials during this step. If you lose your SSH key or root password, you will need to provision a new server.

    Option 1 — SSH Key (recommended)

    This option allows you to securely access your VPS without a password. You must first create a key pair on your Windows or Mac/Linux computer. You will then use the public key in step #3.

    1. Click the Add New Key button.
    2. In the Name field, enter a label to identify this key (for example, my-laptop).
    3. Copy and paste the entire contents of your .pub key file into the SSH Key field. This was created when you originally created the key pair.
    4. Click Save SSH Key.

    Option 2 — Root Password

    This option sets a root password for full server control. It is not possible to set a custom password.

    1. Click Generate Password
    2. Check the confirmation box, then click the Confirm button. A password is automatically generated and displayed once. 
    3. Click the eye icon to view the password. 
    4. Save this password somewhere safe as it's not possible to view it after this order is complete.
  8. Under the Connect a Domain section, select an option to enter a domain name. This step is optional and can be configured after provisioning.
  9. Click Submit Order.

Your server begins provisioning automatically. Once complete, it appears on the Servers & Usage page. Here, you can select the App Info tab to monitor your new server.

Connect to your server

Once your server finishes provisioning, you can connect using the following instructions.

  1. Navigate to the Servers & Usage page.
  2. Click Manage next to your new server 
  3. Select the App tab. Here you will find the server's IP address, login user, and a ready-to-use SSH login command.

    The login user varies depending on the Base OS you selected at provisioning. For example, Ubuntu uses ubuntu and Debian uses debian. Always confirm the correct user in the App tab before connecting — using the wrong user is one of the most common causes of a failed connection.

  4. Run one of the following commands to connect, depending on the name of your key.

    Default name: If your key is in the default location (~/.ssh/id_ed25519), SSH detects it automatically. Use the command shown in the App tab:

    [local]$ ssh user@your-server-ip

    Custom name: If you saved your key with a custom name or path, use the -i flag to specify it:

    [local]$ ssh -i ~/.ssh/your-key-name user@your-server-ip

    Replace ~/.ssh/your-key-name with the actual path to your private key file, and user with the login user shown in the App tab.

OS images and app library

When provisioning your server, select one of the following Base OS options or pre-installed app images.

Base OS options

App library

App Category
n8n Workflow automation
Docker + Portainer Development
Supabase Database
PostgreSQL Database
Nextcloud Productivity suite
Ghost CMS Publishing
Open Claw AI Agent
GitLab CE Development
LAMP Stack Development
Dokploy Development
Node.js Development

See also

Did this article answer your questions?

Still not finding what you're looking for?