All help articles

Your servers (VPS)

A VPS is a virtual server of your own, with a plan's processors, memory and disk, and its own IPv4 and IPv6 addresses. Your servers are on the account page under Compute (see your account page).

Who sees them. Only the organization's owners and admins see its servers. Members and billing members don't.

After you order

Each VPS subscription is one server, named "Server 1", "Server 2" and so on. It shows being set up while we prepare it; its buttons and addresses appear once it is ready, and your organization's owners and admins get an email saying so, with its addresses. To rename it, click Rename next to its name. The new name is only for you.

Signing in. If we built your server from one of our images, it comes with the SSH public keys you gave us. Sign in over SSH to its IPv4 address as the user we tell you, for example ssh debian@192.0.2.10. There is no password, so keep your key safe. To add keys, add them to ~/.ssh/authorized_keys on the server. Lost your key? Ask us: we can restore a backup or rebuild the server, but rebuilding wipes it.

Changing plan

When your server's plan changes (ask us for another plan), the server is set to the new plan's processors and memory, which it takes when it next starts, so restart it (Shut down, then Start) after changing.

Moving to a larger plan also grows its disk. The new space shows up at the end of the disk: grow the partition and file system to use it, for example growpart /dev/sda 1 and resize2fs /dev/sda1 (many cloud images do this by themselves at boot). Moving to a smaller plan never shrinks the disk.

Starting and stopping

Once the server is ready, these buttons appear (if your plan includes power controls):

ButtonWhat happens
StartTurns the server on.
Shut downAsks the server's system to shut down cleanly. If it hasn't stopped after three minutes, it is turned off.
RebootAsks the system to restart.
StopTurns the server off at once, like pulling the plug. Unsaved work is lost.
ResetRestarts it at once, without shutting down first. Containers don't have this.

Stop and Reset ask you to confirm first. Actions are a few seconds apart. Each one is recorded in your organization's activity.

If your plan includes status and usage, the server also shows its uptime and its CPU, memory, disk and network use.

Suspended servers. If a subscription is suspended, its server is shut down and can't be started until the subscription is active again. Over an unpaid invoice it goes in steps, each mailed to you: first the server loses its network but keeps running, then it is shut down, and later, depending on the provider, it is removed with everything on it. The server's card says which. Paying the invoice brings its network back at once (start it again if it was shut down); a removed server can't be brought back by paying, so pay before then. See Billing and tax.

Console

Every plan includes the console. Console next to the server's buttons opens its text console in the page: what you'd see on a serial cable plugged into it. Use it to sign in when the network is down, or to watch the server boot.

Opening the console is recorded in your organization's activity.

Backups

If your plan includes backups, the server's Backups tab lists them, newest first.

You can take or restore a backup once every ten minutes. A backup taken while the server is running is like pulling the plug at that moment: databases recover from it, but for a clean copy, shut the server down first or stop the database.

Graphs

If your plan includes usage graphs, the server's Graphs tab shows its CPU, memory, network and disk use over the last hour, day, week, month or year (pick one above the graphs). Each point is the average over a short step: a minute for an hour, half an hour for a day, a day for a year. Hover over a graph (or tab to it) to read the values at a time; Show as a table lists them all. CPU is a share of all the server's vCPUs, so 100% means every one was busy. A gap means the server was stopped.

Snapshots

If your plan includes snapshots, the server's Snapshots tab lists them, newest first, with how many your plan lets you keep.

You can take or roll back a snapshot once every two minutes. A snapshot is a quick way back before an upgrade or a risky change, not a backup: it lives on the same storage as the server's disks, and many or old snapshots slow the disks down, so delete them once you are done.

If you moved to a smaller plan, you can't roll back to a snapshot taken on the bigger one (it would bring back its vCPUs and memory); ask us. After any rollback, your plan's vCPUs and memory are put on the server again.

Firewall

Every server has a firewall (Proxmox's own, in front of the server, so it works whatever runs inside). Open the server's Firewall tab to set it up:

Two things are ours and locked:

Rules you add always go below ours. A rule that copies ours (its comment starting zappocity:) or uses our address list is refused.

Access

A server's Access tab sets how you sign in to it: its hostname, the user it makes, the SSH keys that user accepts, and a password. These are set by cloud-init when the server starts, so a change is taken on at its next start, power on or reboot from your account page. A reboot from inside the server does not pick it up. Tick Reboot now to take a change on at once.

The tab is there for servers that are VMs. A container's access is set inside it. A server built without a cloud-init drive says so; set its access inside it, or open a support ticket.

The metadata service (169.254.169.254)

Many of our servers take their cloud-init settings from a metadata service at 169.254.169.254, the address cloud servers use, in place of a cloud-init drive. The settings are the Access tab's (hostname, user, SSH keys, password) plus your addresses and name servers.

How cloud-init finds it. cloud-init reads the server's SMBIOS serial ds=nocloud;s=http://169.254.169.254/nocloud/ at boot. Every current cloud image does this: Ubuntu, Debian, Fedora, Rocky, Alma, openSUSE and Arch. A system installed from an ISO without cloud-init gets nothing from it.

What it serves. It answers your server only, and nothing else:

To look from your server:

curl -s http://169.254.169.254/nocloud/meta-data
curl -s http://169.254.169.254/nocloud/network-config
cloud-init query ds        # NoCloud, seeded from the address
TOKEN=$(curl -s -X PUT http://169.254.169.254/latest/api/token -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/

Your password. The password's hash is handed out once, on the first boot after it is set, and never again. A program on your server can't read it later. If a password didn't take (say the first boot crashed), set it again on the Access tab.

When a change arrives. An Access change reaches the service within a minute. A reboot sooner than that may start with the old settings, so reboot once more. cloud-init treats a changed server as a new one, so its SSH host keys change, as they do with a drive.

Keep the address reachable. If your firewall inside the server blocks outgoing connections, allow TCP port 80 to 169.254.169.254.

Rescue and reinstall

A server's Rescue tab has two parts: booting from a rescue image, and reinstalling. Both are for servers that are VMs. Each is offered when your plan includes it, and either can be used once every few seconds.

Rescue boots the server from one of the images we offer, such as a rescue system or an installer, with your disks still attached. Use it to repair a server that no longer boots, or to reset a password from outside it.

Reinstall erases the server and installs it again from one of our images:

You type the server's name to confirm. The server shows as being set up until it's ready, which usually takes a few minutes. To sign in with a password afterwards, set one on the Access tab.

Hatch

When you can't reach a server any other way, Hatch is our emergency shell. Over SSH, with a key on your account, it gives you the server's console, power, rescue and reinstall.

Network

Each server's card has tabs: Network (its addresses), Reverse DNS (their names, with how many are set) and, if your plan includes them, Graphs, Backups, Snapshots and Firewall. Under Network, How to set the network up shows ready-made netplan, ifupdown, NetworkManager and FreeBSD setups for your addresses.

IPv4

An address is either on-link or routed:

Routed IPv4 addresses

Some addresses are routed to your server rather than on its network, the way your IPv6 /64 is. Your server then also has an IPv4 mgmt (management) address, such as 10.255.0.10/24, gateway 10.255.0.1.

  ethernets:
    eth0:
      addresses:
        - 10.255.0.10/24      # management address
      routes:
        - to: default
          via: 10.255.0.1
    lo:
      addresses:
        - 203.0.113.10/32     # routed to you

How to set the network up on the Network tab shows this with your own addresses.

IPv6

Your server gets two things:

On some of our networks IPv6 comes in on a second network card (eth1, often named ens19), with IPv4 on the first. The account page says so, and its netplan and ifupdown examples put the IPv6 management address and its default route on that card.

If the account page says IPv6 can be taken by DHCPv6, you can instead let the server ask for both: the management address, and your /64 as a delegated prefix (dhcp6: true in netplan; for the prefix, a DHCPv6 client that asks for prefix delegation, such as systemd-networkd with [DHCPv6] PrefixDelegationHint=::/64). The default route comes from our router's advertisements.

Reverse DNS

The server's Reverse DNS tab lists each of its addresses with its name, such as mail.example.com: what the address looks up to (its PTR record). Mail servers often check this. Name it (or Edit) on an address sets its name in place; Remove clears it; Another address of your /64 names any other address in it.

Your own name servers for your /64

Instead of setting names here one by one, you can keep every name in your /64 on name servers of your own. Under Reverse DNS → Name servers for your /64, list two to eight of them (such as ns1.example.com) and save: we point your /64 at them (NS records in our reverse zone), and they answer for every address in it.

Address registration (ARIN whois)

Your server's addresses belong to us at ARIN, the regional internet registry for North America. We may register them there as reassigned to you, so that whois shows who uses them. Under Your organizations → Address registration (ARIN whois) on the account page, choose how you appear:

Only owners change it; admins can see it. Changes reach ARIN within minutes, and a change of billing address is sent too. The box lists the addresses registered and their state. When an address goes back to us, its registration is removed.

Example (Ubuntu netplan)

Put this in /etc/netplan/50-zappocity.yaml, then run netplan apply:

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.0.2.10/24
        - 2001:db8:ffff::100/128     # management address
      routes:
        - to: default
          via: 192.0.2.1
        - to: default
          via: 2001:db8:ffff::1
          on-link: true
    lo:
      addresses:
        - 2001:db8:1000:1::1/128     # from your /64

The management address is a /128: the gateway is reached on the link (on-link), and addresses of your /64 go on lo, since they are routed to you rather than on our network.

Example (Debian ifupdown)

The same in /etc/network/interfaces:

auto lo
iface lo inet loopback
    up ip -6 addr add 2001:db8:1000:1::1/128 dev lo

auto eth0
iface eth0 inet static
    address 192.0.2.10/24
    gateway 192.0.2.1
iface eth0 inet6 static
    address 2001:db8:ffff::100/128
    up ip -6 route add 2001:db8:ffff::1 dev eth0
    up ip -6 route add default via 2001:db8:ffff::1 dev eth0

A routed IPv4 address goes on lo the same way: up ip addr add 203.0.113.10/32 dev lo.

Example (AlmaLinux, Rocky Linux, CentOS Stream)

These use NetworkManager. Run the commands as root from the console, since the connection drops while it changes. First take the old connection off the card: nmcli connection show lists them, and nmcli connection delete NAME removes one.

nmcli connection add type ethernet ifname eth0 con-name zappocity \
  ipv4.method manual ipv4.addresses "192.0.2.10/24" ipv4.gateway 192.0.2.1 ipv4.dns 1.1.1.1 \
  ipv6.method manual ipv6.addresses 2001:db8:ffff::100/128 \
  ipv6.routes "2001:db8:ffff::1/128, ::/0 2001:db8:ffff::1" ipv6.dns 2606:4700:4700::1111
nmcli connection add type dummy ifname dummy0 con-name zappocity-routed \
  ipv4.method disabled ipv6.method manual ipv6.addresses 2001:db8:1000:1::1/128
nmcli connection up zappocity && nmcli connection up zappocity-routed

Use your own addresses from the account page. The interface may be named ens18 rather than eth0; ip link shows its name.

Example (FreeBSD)

Add these lines to /etc/rc.conf, replacing the card's old ifconfig_ lines. Put nameserver 1.1.1.1 in /etc/resolv.conf. Then run service netif restart && service routing restart from the console:

ifconfig_vtnet0="inet 192.0.2.10/24"
defaultrouter="192.0.2.1"
ifconfig_vtnet0_ipv6="inet6 2001:db8:ffff::100/128"
ipv6_static_routes="zgw zdefault"
ipv6_route_zgw="2001:db8:ffff::1 -prefixlen 128 -interface vtnet0"
ipv6_route_zdefault="default 2001:db8:ffff::1"
ifconfig_lo0_alias0="inet6 2001:db8:1000:1::1/128"

Using your /64

Every address in your /64 reaches your server; the first one (2001:db8:1000:1::1 in the examples) is set up above. How to set the network up on the account page shows these with your own addresses.

To check: ip -6 route get 2606:4700:4700::1111 goes via your gateway, and ping -6 to an address of your /64 from elsewhere answers. Your /64 needs no route or gateway of its own: we route it to your management address.

Through the API

GET /api/account/orgs/{orgId}/servers lists the servers, and POST .../servers/{serverId}/power with {"action": "start"} (or shutdown, stop, reboot, reset) acts on one. Both use your signed-in session. See the account API.