Python-Django automated deployment to Amazon web interface


We are a team developing applications using Python / Django and have 2 very talented frontend designers, a backend designer, and a part-time sys admin.

We are trying to extend this open source project: [url removed, login to view]

We want a long-term Heroku style deployment management interface for our company. Our plan is as follows, please recommend alternatives if something is better practice than what we outline. We want long-term Django app deployment management with GitHub repos and separate Amazon EC2 instances executed by a web interface. We want to map all settings needed for new deployments into the web interface to deploy a new app.

Skills looking for:

1. Python / Django

2. Linux / systems administration

3. Django deployment management best practices

4. GitHub, Amazon EC2, API experience with a DNS provider, or familiarity with our planned server stack preferred

5. Attitude that helps our team learn from your code and well documented code preferred

6. Deployment automation / management project experience a plus

7. Able to start working on the project immediately

Configuration files included in GitHub repo deployed by app:






-supervisor autostart

Planned production setup:

1.1 GitHub repo = 1 app codebase = 1 Amazon EC2 instance = 1 MySql resource

2. Server config files and development, staging, production settings versioned in GitHub repo

Master server hosts our wiki and this deployment management application

3. App Functionality

4. We are planning on hosting the Django deployment app on our "master" server that also runs our MediaWiki that has our documentation.

[url removed, login to view] interface will be hosted at [url removed, login to view] behind auth.

Dashboard features:

1. Create a new EC2 instance, set it up, and deploy initial version of app

2. Map all required settings into the deployment app via web interface

-GitHub deploy key, amazon credentials, project name etc.

3. Deploy with SSL cert or without (can we integrate with cert provider at DNS with API to buy cert and apply it as it is setting up the new instance?)

4. Anything we might want to be unique between different instances

5. Dropdown menu to select from deployed instances

6. Automatically push "Production" branch to production and create a new version number associated with commit for rollbacks

7. Uses production settings file

8. Same functionality for "Staging" and "Development" branches deployed with their matching settings file

9. Push updates to that instance from GitHub

10. Rollback to previous versions

11. Put up a "Site is down for maintenance" page

12. Track versions and apply a version numbering convention for each instance / codebase automatically

13. Create a new private repo shared with our team on GitHub, copy contents of our global start template repo into that new project repo

14. We don't want to version SSL certs on GitHub, some solution to deliver the certs from the deployment app as the initial instance for a new app gets set up

Tools planned to use:

1. Boto - Amazon EC2 API

2. GitHub - We host all our code on GitHub

3. Fabric - Set up new EC2 instances remotely

4. DNS with API - We currently use GoDaddy but plan to migrate to new provider with an API to integrate automated DNS setup into deployment app

5. SSL certificates (Can we purchase and deliver via DNS API?)

6. Fabulous as starting point - [url removed, login to view]

7. Django site wrapper, frontend guys can deploy from the interface

8. Loggly - We plan to export all our server log feeds to SaaS tool Loggly

Planned server stack:

1. Git

2. Memcached

3. Nginx

4. Libmysqlclient-dev

5. Mysql-client

6. Python-setuptools

7. Python-dev

8. Build-essential

9. Python-pip

10. Python-mysqldb

11. Virtualenv

12. Virtualenvwrapper

13. Supervisord

14. South database migrations

15. Django

16. Gunicorn

More details to be provided.

Skills: Django, Python

See more: ec2 deployment management django, amazon automation deployment, python web deploy automation, supervisor django gunicorn, django deployment best practices, automated deployment python, wrapper application, web site template buy, web site development tools, web site development tool, web site designers needed, web project documentation template, web production designer, web page backend development, web from web designers, web development company template, web development company our team, web development buy, web developing tools, web dev buy, web designers python, web designers name, web designer setup, web designer remotely, web designer in linux

Project ID: #1390932

Awarded to:


Very interested in this. Lots of experience with Python, Linux (from when it was still Unix), AWS etc.

$250 USD in 5 days
(1 Review)

2 freelancers are bidding on average $250 for this job


hello, nice to bid on it

$250 USD in 15 days
(0 Reviews)