Skip to content

Conversation

@c-w
Copy link
Member

@c-w c-w commented Jan 25, 2019

Currently the application can easily be deployed to Heroku via the Procfile. This change adds an ARM template to additionally easily deploy the application to Azure.

To make management of the application as straight forward as possible, the ARM template leverages PaaS solutions: the Django application is deployed via the Docker container to a Web App for Containers and the app's data storage is a managed PostgreSQL instance.

For additional security, the PostgreSQL database is configured to only allow connections from other Azure IPs. If someone wishes to connect to the database manually, e.g. via pgadmin, the client's IP must be white-listed in the database server's firewall (instructions).

Given that the resources are deployed asynchronously by ARM, sometimes the web app may be provisioned before the database is set up or before the database server's firewall is correctly set up. To prevent race conditions, this change includes a Django management script that makes the application wait until the database is available before starting up. This script will also be useful in other contexts such as using an external database linked to the application in docker-compose or kubernetes.

@BrambleXu BrambleXu added the feature request feature request for doccano label Jan 25, 2019
@Hironsan Hironsan merged commit 4a246d8 into doccano:master Jan 28, 2019
@c-w c-w deleted the feature/azure branch March 22, 2019 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature request feature request for doccano

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants