forked from 3wordchant/capsul-flask
3wordchant
72c04d8495
Adds: - a Docker image, which can be used in both development and production - a `docker-compose.yml` file for local development (could probably be adapted for production deployments) Testing: - `git checkout docker` - `docker-compose up` - pray 🙏 - go to http://localhost:5000 ## App architecture I added the ability to load secret config variables (`HUB_TOKEN`, `STRIPE_SECRET_KEY` etc) from files, to support [Docker Secrets](https://docs.docker.com/engine/swarm/secrets/) natively. The code should probably log an error if a specified `HUB_TOKEN_FILE` doesn't exist instead of failing silently.. ## Docker architecture This uses a multi-stage build to reduce the size of the final image -- having pipenv install to a predefined virtualenv, and then copying that over. The compose file doesn't include a definition for a cron runner service, and I haven't tested running one yet. Here be dragons! You can rebuild the image locally using `docker-compose build`, but this isn't required for changes to the app code, only if you edit the `Dockerfile`, or want to publish your image for use on a swarm server (in which case you will need to edit the image name to put in your own Docker hub credentials). Currently, the image is rebuilt (should set up auto-tagging..) and published with every push to this 3wordchant/capsul-flask fork. Reviewed-on: 3wordchant/capsul-flask#2 Co-authored-by: 3wordchant <3wordchant@noreply.git.autonomic.zone> Co-committed-by: 3wordchant <3wordchant@noreply.git.autonomic.zone>
14 lines
312 B
YAML
14 lines
312 B
YAML
---
|
|
kind: pipeline
|
|
name: publish docker image
|
|
steps:
|
|
- name: build and publish
|
|
image: plugins/docker
|
|
settings:
|
|
username:
|
|
from_secret: docker_reg_username_3wc
|
|
password:
|
|
from_secret: docker_reg_passwd_3wc
|
|
repo: 3wordchant/capsul-flask
|
|
tags: ${DRONE_COMMIT_BRANCH}
|