One-click apps
Have Docker, WordPress, WireGuard or another app installed on a new server's first boot, how to watch it happen, and what to do if it fails.
A one-click app is software we install on your server the first time it boots. You pick it when you order, alongside the distribution. Apps open with orders at launch.
There's no special image behind an app. Your server boots from the distribution's official cloud image, like any other, and then installs the app from the project's own repository, or the distribution's. So you get the current version, set up the usual way, and you can manage it afterwards like anything else on the server. Each app has its own page at vpsnine.com/apps, with what gets installed and what to do next.
The list
One app per server. The plan in brackets is the smallest one it runs well on; see Choose a plan for the sizes.
Containers
- Docker (Budget): Docker Engine with the Buildx and Compose plugins, from Docker's own repository.
- Coolify (Standard): a self-hosted platform for deploying apps and databases from Git, with a web UI.
Web servers and sites
- nginx + Certbot (Budget): nginx with Certbot ready to fetch a free Let's Encrypt certificate.
- Caddy (Budget): the web server that gets and renews its own HTTPS certificates.
- LEMP stack (Budget): nginx, MariaDB and PHP-FPM, set up so
.phpfiles run straight away. - WordPress (Budget): the latest WordPress on nginx, PHP-FPM and MariaDB, ready for its install screen.
Databases
- PostgreSQL (Budget): PostgreSQL from the distribution, listening on localhost only.
- MariaDB (Budget): MariaDB on localhost, with root logging in through the Unix socket.
- Redis (Budget): Redis, or the Valkey fork where the distribution ships that instead, on localhost.
Developer tools
- Node.js LTS (Budget): the current Node.js LTS with npm, and pm2 to keep your app running.
- n8n (Standard): workflow automation you host yourself, in Docker.
VPN and networking
- WireGuard VPN (Budget): a personal VPN with one client profile ready to import.
- Tailscale (Budget): the Tailscale client, ready to join your tailnet with one command.
Monitoring
- Uptime Kuma (Budget): a status page and uptime monitor, in Docker.
Game servers
- Minecraft (Paper) (Standard): a Minecraft Java server on Paper, run by systemd. You accept Mojang's EULA yourself.
Apps work on Ubuntu, Debian, AlmaLinux, Rocky Linux and Fedora. Coolify and WordPress need Ubuntu or Debian. Arch Linux has no apps; use a setup script there instead.
Pick one
In the panel, the order form has an app list under the distribution. Leave it on none for a plain server. If an app doesn't suit the plan or distribution you've picked, the form says so.
With the API, add app to the order, using the app's id from its page (docker, wordpress, wireguard and so on):
{"plan":"standard","image":"ubuntu-24.04","hostname":"web-1","sshKeyIds":["key_…"],"app":"docker"}The API reference has every field. API quickstart shows how to send it.
With the CLI:
vps9 servers create --plan standard --image ubuntu-24.04 --hostname web-1 --key key_… --app dockerYou can add extra packages and your own first-boot script to the same order. Extra packages and setup scripts explains how.
Check on it
The server shows as running, and answers SSH, before the app is finished. Docker or Redis take under a minute. Coolify and WordPress can take several. Log in and watch:
tail -F /var/log/vps9-setup.logThe log starts once the app's packages are in; until then tail -F waits for it, and the package installs print to /var/log/cloud-init-output.log. Press Ctrl+C to stop watching. When setup has ended, this file holds its exit code:
cat /var/lib/vps9-setup.exit0 means everything worked. Anything else means something failed, and the log says what. If the file isn't there yet, setup is still running. cloud-init status --wait waits until first boot is done, but it can say status: done even when the app or your script failed, so the exit file is the one to trust.
Then follow the app's next steps, on its page at vpsnine.com/apps and in the email that says your server is ready.
Apps with a web setup screen
Coolify, WordPress, Uptime Kuma and n8n finish their setup in a browser, and the first person to open that page creates the admin account. Open it as soon as setup ends. Better still, use the panel firewall to let only your own address reach that port until you've done it. For Coolify, on port 8000:
allow tcp 8000 from 203.0.113.10
deny tcp 8000The first matching rule wins, so you get in and everyone else is turned away. Each app's page lists the ports it uses. The databases, Redis and Docker open none to the internet.
If it failed
Read the end of the log first:
tail -n 50 /var/log/vps9-setup.logIf that file isn't there, or the app's commands are missing, the package step failed before the app's install began: look in /var/log/cloud-init-output.log instead.
The usual cause is a project's repository being briefly unreachable, which shows up as a download or apt/dnf error. Wait a few minutes and run the failed step again by hand, or reinstall the server with the same app. The app's page shows what a working install looks like.
If it fails the same way twice, open a support ticket with the server's name and the last 50 lines of the log.
Apps and reinstalls
A reinstall wipes the disk and puts a fresh copy of the same distribution on it. In the reinstall form you can keep the app the server had, choose a different one, or have none. The app installs again on the first boot after the reinstall, from scratch, so your data from the old install is gone unless you backed it up.
Taking an app off a running server is up to you: it's ordinary software, so remove it with apt or dnf the usual way.