Deploy Python apps to your servers using OpsCaptain

OpsCaptain can deploy Python apps written with any framework using the Cloud Foundry python-buildpack. From the developers perspective, you simply deploy your code using the CLI and OpsCaptain configures the environment to install dependencies using the buildpack and launch your application. If you are interested in understanding how the buildpack works and also specify a specific python version to run your app, review the buildpack docs using this link. OpsCaptain provides a Cloud Foundry compatible environment on your servers so you can run your Python applications effortlessly.

For a list of the supported Python versions, you can review the buildpack release notes found here

Get Started with Python hosting for free
No Credit Card Required*

Prerequisites

Install the opscaptain-cli on your local machine and also log in. If you haven't, run the below commands from your terminal to install it and login:

npm install -g opscaptain-cli opscaptain login -em info@opscaptain.com -pw ******

You must have already added the server that will be used to host your Python app. To add a server to your OpsCaptain account, follow this guide here.

If you do not have a server yet, you can purchase a server or use the free tier or credit from one of the following clouds: AWS EC2, Microsoft Azure, Vultr, DigitalOcean and Google


Step 1. Create your app

From the dashboard: Log into the dashboard and create a new app using this link. Select the required database engine. If your app does not require a database, do not make a selection. Once the app and database are created, you can then proceed to deploy your code to it.


Step 2. Specify a Start Command

The Python buildpack does not generate a default start command for your applications. To stage with the Python buildpack and start an application, do one of the following:

Supply a Procfile. Create a file with name Procfile in the root directory of your application. The following example Procfile specifies gunicorn as the start command for a web app running on Gunicorn:

web: gunicorn SERVER-NAME:APP-NAME

Another example starting your application with the python command:

web: python hello.py

Step 2. Create the ocmanifest.json file in your application directory.

You will typically configure the ocmanifest.json file on your first deployment or when you need to change any environment variables.

The below example shows a sample ocmanifest.json file to deploy Python apps:

{ // The name you provided when creating the app in step 1 name: "python-hello-word", // Configure environment variables if any env: { "VARNAME": "VARVALUE" }, buildpacks: ["python"] }

Step 3. Deploy your Python app

CD into the project directory. Once there, run the below command to deploy and that's it.

opscaptain deploy