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
- A seenode account (sign up free).
- A GitHub account.
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
-
Open the dashboard
Sign in to the seenode dashboard and select Web in the sidebar, then click Create web service.
-
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

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 successfulThis 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.appURL.
Every push to main can deploy automatically once you enable Auto-deploy in the service’s Settings.
What’s next
Deploy your own framework
Guides for Django, FastAPI, Express, Next.js, Go, Phoenix, and more.Add a database
Create a managed MySQL or PostgreSQL database and connect your app.Add a custom domain
Point your own domain at the service, with automatic HTTPS.How seenode works
Understand the build, run, and billing model behind your deploy.Tip (Clean up)
Done experimenting? You can delete the service any time from its Settings → Danger Zone.