DEV Community

Leoo Chet
Leoo Chet

Posted on

Beginner’s Guide to Hosting Your First App on DigitalOcean

For the longest time, all my projects lived on localhost.

Every side project I built stayed trapped inside my laptop like some secret nobody could actually use.

Whenever I wanted to show a friend what I was building, I had to say things like:

“Hold on, let me start the server first.”

Or worse:

“It works on my machine.”

Eventually, I realized I had been avoiding one thing for months:

Deploying to a real server.

The problem was that cloud hosting always looked terrifying.

AWS felt like I needed to study for an exam just to launch a VPS. Google Cloud had so many settings that I closed the tab after ten minutes.

I just wanted something simple.

That’s when I found DigitalOcean.

And honestly, it ended up being the easiest introduction to VPS hosting I could’ve asked for.

In this guide, I’ll show you exactly how I hosted my first app on a DigitalOcean Droplet as a complete beginner.

No complicated DevOps setup.

No Kubernetes.

Just a simple Linux server, Docker, and your first deployed app.

Why I Picked DigitalOcean

The first thing I noticed about DigitalOcean was how clean everything felt.

The dashboard didn’t overwhelm me.

I wasn’t buried under enterprise cloud terminology.

It felt built for developers who just wanted to ship things.

That mattered a lot because at the time, I wasn’t trying to become a cloud engineer.

I just wanted my app online.

If you want to follow along with the same setup I used, you can create a basic Droplet here:

[DIGITALOCEAN LINK]

Step 1 — Create Your First Droplet

After signing up, click:

Create → Droplets

I chose:

Ubuntu 24.04
Shared CPU
Basic plan
$6/month option

That was enough for my small projects.

For authentication, you can use either:

SSH keys
Password login

SSH keys are safer, but passwords are fine if you’re just getting started.

After choosing a region close to your location, click:

Create Droplet

About a minute later, I had my first public server IP.

It felt weirdly exciting.

Like I had finally crossed some invisible line from “learning programming” into “actually building things.”

Step 2 — Connect to the Server

Open your terminal:

ssh root@YOUR_SERVER_IP

Example:

ssh root@143.xxx.xxx.xxx

The first time I logged into my server successfully, I stared at the terminal for a few seconds thinking:

“Wait… this is my server now?”

Then I immediately became terrified of breaking it.

That feeling never fully disappears.

Step 3 — Update Ubuntu

Before installing anything, update the system:

apt update && apt upgrade -y

Then install a few essentials:

apt install curl git ufw -y

This gives you:

curl
git
firewall tools

Basic stuff you’ll probably use constantly.

Step 4 — Configure the Firewall

One mistake beginners make is exposing everything publicly.

I definitely made that mistake later.

So let’s avoid it early.

Enable UFW:

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable

Then verify:

ufw status

You should see:

22/tcp
80/tcp
443/tcp

allowed.

Step 5 — Install Docker

Docker completely changed how I deploy apps.

Before Docker, deployment felt messy.

After Docker, it started feeling repeatable.

Install Docker:

curl -fsSL https://get.docker.com | sh

Verify installation:

docker --version

You should see something like:

Docker version 27.x.x

Step 6 — Deploy Your First App

To test the server, let’s run Nginx.

docker run -d -p 80:80 nginx

Now visit:

http://YOUR_SERVER_IP

And suddenly…

Your website is online.

No localhost.

No tunnels.

No temporary links.

A real server on the internet.

That moment genuinely changed how I viewed software development.

What I Learned From My First VPS

The biggest surprise was realizing VPS hosting wasn’t nearly as complicated as I imagined.

I had spent months avoiding deployment because I thought it belonged to “real engineers.”

Turns out, beginners can learn this stuff surprisingly fast.

Especially with a platform like DigitalOcean where everything feels beginner-friendly.

Mistakes I Made

Here are a few things I broke during my first week:

Forgetting firewall rules

I accidentally exposed development ports publicly once.

Not great.

Deleting containers

I removed containers without understanding volumes yet.

Also not great.

Not taking snapshots

Always make backups before experimenting.

You will thank yourself later.

Final Thoughts

Hosting my first app on DigitalOcean made development feel more real.

I stopped thinking of deployment as this mysterious thing only DevOps people understood.

It became another skill I could learn step by step.

And honestly?

Once your first app goes live, you immediately start wanting to deploy more things.

If you want to try the same setup I used, you can create a beginner-friendly Droplet here:

[DIGITALOCEAN LINK]

In my next experiment, I tried deploying another app on Vultr to compare the experience.

And surprisingly, it felt very different.

Happy building 🚀

Top comments (0)