DigitalOcean
On DigitalOcean, the server runs on a Droplet with Docker, and the store is an R2 bucket. A Droplet with 1 GB of memory is enough to start.
Two DigitalOcean products look like a better fit and aren't:
- App Platform keeps the old instance running until the new one is healthy, so every deploy would start a new release while the old one still owns the store.
- Spaces doesn't support conditional writes, so it can't hold an Akter store.
You need the src/server.ts, Dockerfile and .dockerignore from Deploying, an R2 bucket, a domain name, and the doctl command.
Create the Droplet
Terminal
doctl compute droplet create my-app \
--image ubuntu-24-04-x64 --size s-1vcpu-1gb --region nyc1 \
--ssh-keys <your key fingerprint> --wait
doctl compute droplet list my-app --format PublicIPv4Point your domain's DNS at the Droplet's address, then connect with ssh root@<address>.
Deploy
From here it's the same as any server with Docker. Follow Your own server from Install Docker.
If you'd rather run a cluster, DigitalOcean Kubernetes works with the Kubernetes manifest. Create one with doctl kubernetes cluster create my-app --count 1.