Deploy Your First App | seenode Tutorial

Deploy your first app

A step-by-step first lesson: fork a small Flask app and deploy it to a live HTTPS URL on seenode in about 5 minutes.

In this tutorial you’ll fork a small ready-made Flask app and deploy it to a live HTTPS URL on seenode. You’ll watch the build logs stream and open your running app in the browser. It takes about 5 minutes, and you don’t need to write any code. We provide the app.

New to seenode? Start free: 7-day trial, no credit card.

Prerequisites

Step 1: Get the sample app

Open the seenode Flask template and click Create repository to fork it into your own GitHub account:

Create the example-flask repository →

This is a minimal Flask app that returns a greeting page. Everyone in this tutorial deploys the same known app, so your result will match ours.

Step 2: Create a web service

  1. Open the dashboard

    Sign in to the seenode dashboard and select Web in the sidebar, then click Create web service.

  2. Connect your repository

    Choose GitHub, authorize seenode if prompted, and select the example-flask repository you just created. Leave the branch as main.

Step 3: Confirm the configuration

seenode detects that this is a Python app and pre-fills the settings. Confirm they match:

  • Image: Python
  • Build command: pip install -r requirements.txt
  • Start command: gunicorn app:app --bind 0.0.0.0:80
  • Port: 80

The web-service configuration screen: runtime Image, Build and Start commands, and the Port field

Warning (The one rule that matters)

Your app must listen on host 0.0.0.0 and the exact port in the Port field. This template binds Gunicorn to 0.0.0.0:80 and the Port is set to 80. They match, so leave them as they are. (A mismatch here is the most common cause of a failed first deploy.)

Step 4: Deploy and watch the build

Click Create instance. The Logs tab opens and streams the build. You’ll see it move through these stages:

==> Cloning repo ...
==> Using python ...
==> Running build command "pip install -r requirements.txt"
==> Build successful
==> Starting application...
==> Deployment successful

This takes about a minute. When it finishes, the status at the top turns green: Deploy is live.

Step 5: Open your live app

At the top of the service you’ll see a URL like https://your-app.seenode.app. Click it.

Your Flask app responds in the browser, served over HTTPS. You’ve deployed your first app to seenode. 🎉

What you just did

You connected a Git repository, and seenode:

  • pulled your code and built it with your build command,
  • started it with Gunicorn listening on the port you configured,
  • put it behind a load balancer with a free SSL certificate, and
  • gave it a public *.seenode.app URL.

Every push to main can deploy automatically once you enable Auto-deploy in the service’s Settings.

What’s next

Tip (Clean up)

Done experimenting? You can delete the service any time from its Settings → Danger Zone.