Your app on a domain with HTTPS, without hand-editing nginx

Give your app a free subdomain or your own domain, and the panel creates the nginx proxy to your app's port with a certificate included. If you edit the config and something breaks, it reverts to the previous one on its own.

  • Free subdomain
  • Automatic Let's Encrypt
  • nginx config with rollback

See plans · Create a free account

Here's what it looks like in the panel

Domains and SSL: VPS domains
VPS domains. Each domain with its certificate and the app it serves.

Publishing is no longer an afternoon of DNS and certificates

From your app's port to a padlocked URL, in one step.

  • Free subdomains: Like your-app.arducloud.com, with the DNS record created for you and SSL handled by Cloudflare.
  • Your own domain: Let's Encrypt certificate issued automatically with certbot.
  • Check before you configure: A button confirms your domain already points to the VPS before you set it up.
  • Reverse proxy in one step: nginx routes your domain to your app's port, over HTTPS.
  • Safe nginx editor: You edit each domain's config; on save it is validated with nginx -t and, if that fails, the previous one is restored automatically.
  • All in one list: Your VPS domains with their port, certificate, logs and linked repo.
  • Port forwarding: Expose any internal VPS port (TCP or UDP) on a public port of the host.
  • SSH that closes itself: The port 22 forward can close on its own after however many hours you pick.
  • No forgotten renewals: The certificate renews itself. An SSL that expires on a Sunday night is a classic that doesn't happen here.
  • Editable nginx: The config that gets generated is plain nginx you can read and adjust, not a black box.

From port to padlocked URL

  1. Pick the domain: A free subdomain or your own, pointed at the VPS.
  2. Give it your app's port: 3000 or 8080, for example.
  3. Done: nginx and the certificate are configured; if you deployed from GitHub, it is linked to the repo.

How it works under the hood, and what to watch for

  • What gets generated is plain nginx acting as a reverse proxy to your app's port. You can read it and edit it: there is no proprietary layer in between.
  • When you save a config change it is validated with nginx -t before being applied. If the test or the reload fails, the previous one is restored on its own: the state of "I broke nginx and now the site is down" doesn't exist.
  • On arducloud.com subdomains the certificate comes from Cloudflare; on your own domain it is issued and renewed on its own with Let's Encrypt and certbot.
  • For your own domain, DNS has to point to the VPS before you create the forward. There is a button that checks it so you don't configure against DNS that hasn't propagated yet.
  • Free subdomains accept one or two segments of at least 3 alphanumeric characters. Deleting one also deletes its DNS record.
  • Port forwards expose any internal VPS port, TCP or UDP, on a public port of the host. That is what you use for something that isn't HTTP and can't sit behind nginx.
  • The port 22 forward accepts an automatic close in hours: you open SSH to do one specific thing and it closes when the time is up, even if you forget. Most ports left open are exactly that, something someone forgot.
  • Certificates for the platform domains are not included in the VPS backup; the ones for your own domains are.
  • The VPS nginx and its logs need systemd running. Verified in production on Ubuntu 22.04 and compatible with 18.04, 20.04, 24.04 and 26.04.
  • Real root over SSH: the panel is a shortcut, not a cage. Anything it does with a button, you can also do by hand.

Or just ask Claude, ChatGPT or Cursor

Everything you see in the panel, your AI agent can do through the ArduMaker MCP server: with your authorization, within the scope you grant, and with every action audited. See what the MCP does

Frequently asked questions

Do I have to pay for or configure the SSL?

No. On arducloud.com subdomains Cloudflare provides it, and on your domain it is issued on its own with Let's Encrypt.

What if I break the nginx config?

It is validated before being applied; if the test or the reload fails, it goes back to the previous config on its own.

Can I use my own domain?

Yes: point it at the VPS, verify it from the panel and create the forward with a certificate.

Can I open SSH for just a while?

Yes, the port 22 forward accepts an automatic close in hours.

Do I have to renew the certificate by hand?

No, it renews itself. It is the most common reason a small site goes down: the certificate expired and nobody was watching.

Why do I get a 502 after publishing a domain?

Almost always because nginx is pointing at a port with nothing listening on it: the app didn't start, it crashed, or it ended up listening on another port. The service status and the VPS nginx logs show you that from the panel.

Can I touch the nginx config?

Yes. What gets generated is plain nginx and you can read and edit it from the panel or over SSH.

Services that go well together

  • GitHub deploys: Link a repo and every push to your chosen branch updates your app on the VPS, with build and restart scripts.
  • Email on your own domain: Mailboxes on your domain, aliases, bot accounts for integrations and DNS verified in real time.
  • n8n: Automations with queue-mode workers, Postgres and Redis included, a custom domain with HTTPS, and updates with rollback.

Your next app, padlocked from day one Domains and SSL included in every VPS panel. See plans