Back to all templates
Flask logo

Flask

Development256MB+ RAM

Python Flask application with Gunicorn WSGI server

developmentframeworksflaskopen-sourceself-hosteddocker

Deploy Flask in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Flask

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Flask on a VPS with Server Compass

Use the Flask template in Server Compass to deploy a generated Flask starter on your VPS, then verify the app loads in a browser.

About 8 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment.

Server Compass Apps tab before creating a Flask app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Flask

Use the template picker search to find Flask in the Server Compass template catalog.

Searching for Flask in the Server Compass template picker
4
Step 4

Select the Flask template

Choose the Flask template. Server Compass fills the compose services, variables, and build settings for this template.

Flask template selected in Server Compass
5
Step 5

Review the Flask settings

Confirm the app name and generated settings. In this run, the app was named flask-demo.

Reviewing Flask project settings and compose services
6
Step 6

Deploy Flask

Review the generated compose settings, confirm the port check passes, and click Deploy.

Reviewing Flask generated settings before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads files, starts containers, and verifies the stack.

Server Compass deploying the Flask template on the VPS
8
Step 8

Confirm Flask is running

After deployment finishes, return to the Apps tab and confirm the Flask app is marked Running.

Flask template running in the Server Compass Apps tab
9
Step 9

Open Flask in the browser

Open the application URL in a browser. The loaded Flask page confirms the template is reachable.

The deployed Flask app loaded in a browser

After Flask Opens

  • Replace the generated starter with your real Flask application.
  • Move production secrets into environment variables and rotate the starter secret.
  • Add a domain, HTTPS, and an access policy before serving production users.

Verified Result

Flask loaded successfully at http://167.233.138.53:5000/.

Flask deployment questions

What does the Flask template deploy?

Use the Flask template in Server Compass to deploy a generated Flask starter on your VPS, then verify the app loads in a browser.

Which port did the tutorial use?

The tutorial used host port 5000, mapped to container port 5000.

Should this become a blog post?

No. The deployment guide should live on the Flask template detail page and be linked from the reusable template deployment docs page.

Command Line Setup

Install Flask Manually

Set up Flask yourself using Docker Compose and the command line.

1

Access Your VPS Terminal

Use your terminal to securely access your server. You'll need your server's IP address.

terminal
# Connect via SSH
ssh root@your-vps-ip

# Alternative with key file
ssh -i /path/to/key root@your-vps-ip

First time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh

2

Set Up the Deployment Folder

Initialize a project folder on your server.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/flask
cd ~/apps/flask
3

Set Up the Stack Definition

Use this Docker Compose configuration for your deployment:

docker-compose.yml
services:
  flask:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "5000:5000"
    environment:
      - FLASK_APP=app.py
      - FLASK_ENV=production
      - WSGI_MODULE=app:app
      - SECRET_KEY=<your-secret-key>
      - DATABASE_URL=<your-database-url>
    restart: unless-stopped
Configuration Options
PORTApplication port(default: 5000)
FLASK_APPFlask app entry point(default: app.py)
WSGI_MODULEGunicorn WSGI module(default: app:app)
SECRET_KEYFlask secret key
DATABASE_URLDatabase URL
4

Start the Containers

Bring up your containers in detached mode.

terminal
# Start all services
docker compose up -d

# List running containers
docker compose ps

# Watch the logs
docker compose logs -f
5

Set Up Firewall Rules

Allow the application port through your server's firewall.

terminal
# Allow the application port through firewall
sudo ufw allow 5000/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:5000
Skip the Terminal

Let Server Compass do the heavy lifting.

No terminal needed. Deploy Flask through a visual dashboard with automatic configuration.

  • Beautiful interface
  • One-click deploys
  • Let's Encrypt SSL
  • Zero downtime
  • Container monitoring
  • Easy rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Flask with Server Compass, complete these steps to finish setup

1

Test the application

2

Set up reverse proxy for HTTPS

Need help? Check out our documentation for detailed guides.

Flask FAQ

Common questions about self-hosting Flask

How do I deploy Flask with Server Compass?

Simply download Server Compass, connect to your VPS, and select Flask from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Flask?

Flask requires a minimum of 256MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Flask data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Flask backup and restore procedures.

How do I update Flask to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Flask image will be pulled and deployed with zero downtime.

Is Flask free to self-host?

Flask is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Flask?

Download Server Compass and deploy Flask to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass