Skip to content

namuan/docker-files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker-files

Docker-files is a website to index Dockerfile and docker-compose files from open source projects.

Web-Infra

Setting up infrastructure for running Flask website

Setting up venv

make venv requirements

Running on DigitalOcean

Pre-requisite

  • Set DIGITALOCEAN_ACCESS_TOKEN environment variable to token from Digital Ocean API Key.
  • Set DIGITAL_OCEAN_SSH_FINGERPRINT environment variable to SSH fingerprint from Digital Ocean SSH Key.
  • Set DIGITAL_OCEAN_SSH_KEY environment variable to the file path of private SSH key. For eg. ~/.ssh/py-flask-digitalocean as this will be used when setting up the Digital Ocean droplet.
  • Set FLASK_SECRET_KEY environment variable as a secure random string which is used by Flask framework.

These can be setup by

export DIGITAL_OCEAN_TOKEN=
export DIGITAL_OCEAN_SSH_FINGERPRINT=
export DIGITAL_OCEAN_SSH_KEY=
export FLASK_SECRET_KEY=

Setting up application

  • Start up DigitalOcean droplet
make doplaybook
  • Setup user for management and deployment
make bootstrap
  • Deploy Flask application
make deployapp
  • Setup Supervisor, Nginx etc
make setupplaybook

Updating application

To re-deploy changes and restart supervisor daemon after deployment

make deployapp updateapp

Rollback application

make updateapp

Cleanup

Make sure you have doctl installed

It can be initialised with the token in the environment variable

doctl auth init --access-token $DIGITAL_OCEAN_TOKEN

Then run the following to delete the droplet.

Please note that the following action is destructive and remove any unsaved changes/data on the droplet.

make deleteinfra