Deployment guide

Deploy Nona on Azure, AWS, and Google Cloud

Nona deploys best to a Linux VM with durable disk and Docker. Choose the provider guide below for the cloud-specific setup, then use the common Docker commands to get the app running.

Choose your cloud

Recommended starting point

  • Nona is a stateful application. Treat its local data directory as durable application state, not disposable cache.
  • Start with one Ubuntu VM per environment.
  • Keep Nona data on the VM disk or on an attached persistent disk.
  • Expose port 18080 only for the initial smoke test.
  • Add TLS, DNS, and replicas later when the operational need is real.

Why the guides use VMs

Nona is a stateful application and keeps state locally under /var/lib/nona. A Linux VM maps cleanly to that storage model on all three clouds. You get durable disk, a stable place to run Docker, and an operational model that is easy to understand.

That is why the default recommendation is Azure Virtual Machines, Amazon EC2, or Google Compute Engine, not the most abstract container product each cloud offers.

Common Docker setup

The provider pages explain how to create the VM. After that, the Docker setup is the same.

1. Install Docker

sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable --now docker

2. Run Nona

sudo docker run -d \
  --name nona \
  --restart unless-stopped \
  -p 18080:8080 \
  -v nona-data:/var/lib/nona \
  rywaredev/nona:latest

Optional: bind to a mounted disk

sudo mkdir -p /mnt/nona

sudo docker run -d \
  --name nona \
  --restart unless-stopped \
  -p 18080:8080 \
  -v /mnt/nona:/var/lib/nona \
  rywaredev/nona:latest

After the first deployment

  • Put TLS in front of the app before using it in a serious environment.
  • Back up the disk or the mounted /var/lib/nona path.
  • Restrict public access to management surfaces as needed.
  • Set up monitoring and alerting before calling the deployment production-ready.