A practical guide to Python

# How do I deploy a Python project to Cloud Noce?

A practical guide to deploying Django, FastAPI and Flask to Cloud Noce PaaS from Git or Gerdoo CLI, covering build and start commands, variables, add-ons and domains.

Short answer

To deploy a Python project without managing a server, connect your Git repository to [Cloud Noce PaaS](/en/products/paas) or run `gerdoo deploy` inside your project folder. Cloud Noce installs dependencies, runs the application in an isolated container and provides a temporary domain and SSL.

Last reviewed:6 September 2026

## Project prerequisites

List dependencies in `requirements.txt` or`pyproject.toml` . The application must listen on the port specified by `PORT` at `0.0.0.0` and read sensitive values from environment variables.

```
# FastAPI
uvicorn main:app --host 0.0.0.0 --port $PORT

# Django
gunicorn config.wsgi:application --bind 0.0.0.0:$PORT
```

## Method 1: Deploy from Git

- Create a project and environment in the Cloud Noce panel.

- Create a service and select a GitHub or GitLab repository and branch.

- Set the start command and, if needed, the build command.

- Enter `SECRET_KEY` and `DATABASE_URL` in the Variables section.

- Deploy the service. Once the health check passes, connect your custom domain in the Domains section.

## Method 2: Deploy directly with Gerdoo CLI

Use the CLI for projects that are not connected to Git or need deployment from a CI/CD pipeline.

```
curl -fsSL https://get.gerdoo.cloud/install.sh | sh
gerdoo login
cd my-python-project
gerdoo deploy
```

The first run of `gerdoo deploy` creates the service and links the folder to it. Subsequent runs deploy a new version. Check status and logs with `gerdoo status` and `gerdoo logs` .

## Databases, files and production

- Create a PostgreSQL, MySQL or Redis service connected to your project from the Add-ons section.

- For Django media files, add persistent storage in the Storage section or use MinIO.

- Before deploying to production, check migrations and `collectstatic` in the build command.

- For startup errors, first check the build log in Deployments, then the live runtime output in Logs. Also check the start command and `PORT` .

- For details on variables, domains and rollbacks, see the [PaaS documentation](/en/support/docs/paas) .

## Frequently asked questions

### Do I need a Dockerfile to deploy Python on Cloud Noce?

No. Cloud Noce detects common Python projects from files such as requirements.txt and pyproject.toml. For a fully custom environment, you can provide your own Dockerfile.

### Are Django, FastAPI, and Flask supported?

Yes. Specify the dependencies and web server start command in the repository. Django typically uses Gunicorn, and FastAPI typically uses Uvicorn.

### Can I deploy a project without connecting Git?

Yes. Gerdoo CLI packages and deploys a local folder directly, which suits local development and CI/CD workflows.

### Where are the database and upload files kept?

Connect a database add-on, and store files on persistent storage or S3-compatible storage such as MinIO. The running release's filesystem is not intended for permanent data.
