https://github.com/devkoriel/dockler
Simple multi-host container-based job scheduler
https://github.com/devkoriel/dockler
Last synced: 3 months ago
JSON representation
Simple multi-host container-based job scheduler
- Host: GitHub
- URL: https://github.com/devkoriel/dockler
- Owner: devkoriel
- Created: 2019-10-21T13:11:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-21T20:05:48.000Z (over 4 years ago)
- Last Synced: 2024-01-14T07:07:15.119Z (over 2 years ago)
- Language: Python
- Size: 709 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dockler
[](https://travis-ci.org/devkoriel/dockler)
[](https://github.com/agconti/cookiecutter-django-rest)
Simple multi-host container-based job scheduler. Check out the project's [documentation](http://devkoriel.github.io/dockler/).
# Prerequisites
- [Docker](https://docs.docker.com/docker-for-mac/install/)
- [Travis CLI](http://blog.travis-ci.com/2013-01-14-new-client/)
- [Heroku Toolbelt](https://toolbelt.heroku.com/)
# Local Development
Start the dev server for local development:
```bash
docker-compose up
```
Run a command inside the docker container:
```bash
docker-compose run --rm web [command]
```
# Continuous Deployment
Deployment is automated via Travis. When builds pass on the master or qa branch, Travis will deploy that branch to Heroku. Follow these steps to enable this feature.
Initialize the production server:
```
heroku create dockler-prod --remote prod && \
heroku addons:create newrelic:wayne --app dockler-prod && \
heroku addons:create heroku-postgresql:hobby-dev --app dockler-prod && \
heroku config:set DJANGO_SECRET_KEY=`openssl rand -base64 32` \
DJANGO_AWS_ACCESS_KEY_ID="Add your id" \
DJANGO_AWS_SECRET_ACCESS_KEY="Add your key" \
DJANGO_AWS_STORAGE_BUCKET_NAME="dockler-prod" \
DJANGO_CONFIGURATION="Production" \
DJANGO_SETTINGS_MODULE="dockler.config" \
--app dockler-prod
```
Initialize the qa server:
```
heroku create dockler-qa --remote qa && \
heroku addons:create newrelic:wayne --app dockler-qa && \
heroku addons:create heroku-postgresql:hobby-dev --app dockler-qa && \
heroku config:set DJANGO_SECRET_KEY=`openssl rand -base64 32` \
DJANGO_AWS_ACCESS_KEY_ID="Add your id" \
DJANGO_AWS_SECRET_ACCESS_KEY="Add your key" \
DJANGO_AWS_STORAGE_BUCKET_NAME="dockler-qa" \
DJANGO_CONFIGURATION="Production" \
DJANGO_SETTINGS_MODULE="dockler.config" \
--app dockler-qa
```
Securely add your Heroku credentials to Travis so that it can automatically deploy your changes:
```bash
travis encrypt HEROKU_AUTH_TOKEN="$(heroku auth:token)" --add
```
Commit your changes and push to master and qa to trigger your first deploys:
```bash
git commit -a -m "ci(travis): add Heroku credentials" && \
git push origin master:qa && \
git push origin master
```
You're now ready to continuously ship! ✨ 💅 🛳