All Projects → tobiasmcnulty → dokku-aws

tobiasmcnulty / dokku-aws

Licence: MIT license
One-click Dokku instance on AWS.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to dokku-aws

dokku-http-auth
dokku plugin that gives the ability to manage HTTP basic auth for an application
Stars: ✭ 71 (+33.96%)
Mutual labels:  dokku
dokku-rabbitmq
a rabbitmq plugin for dokku
Stars: ✭ 41 (-22.64%)
Mutual labels:  dokku
nokul
The Nokul Project
Stars: ✭ 47 (-11.32%)
Mutual labels:  dokku
django-docker
Toy project. Trying to use Django inside a Docker container for both local development and production deployment.
Stars: ✭ 18 (-66.04%)
Mutual labels:  dokku
plausible on dokku
Dockerfile to run Plausible (analytics) on Dokku (mini-Heroku)
Stars: ✭ 17 (-67.92%)
Mutual labels:  dokku
wpacked
📦 WPacked is a WordPress development starter kit with portability and immediate local development in mind.
Stars: ✭ 73 (+37.74%)
Mutual labels:  dokku
dokku-elasticsearch
an elasticsearch plugin for dokku
Stars: ✭ 82 (+54.72%)
Mutual labels:  dokku
citrix-adc-aws-cloudformation
Citrix ADC (Formerly Netscaler) templates and scripts for AWS deployment
Stars: ✭ 11 (-79.25%)
Mutual labels:  cloudformation-template
kamu
You favorite book library
Stars: ✭ 65 (+22.64%)
Mutual labels:  dokku
cookiecutter-django-dokku
A template for jumpstarting Django projects and deploying with Dokku.
Stars: ✭ 16 (-69.81%)
Mutual labels:  dokku
dokku-dockerfile
Deploy applications to Dokku via Dockerfiles outside of the project root
Stars: ✭ 25 (-52.83%)
Mutual labels:  dokku
dokku-graphite
a graphite, grafana, statsd, carbon plugin for dokku
Stars: ✭ 47 (-11.32%)
Mutual labels:  dokku
dokku-sentry
Deploy your own instance of Sentry onto Dokku!
Stars: ✭ 64 (+20.75%)
Mutual labels:  dokku
ci-docker-image
A Docker Image meant for use with CI/CD pipelines
Stars: ✭ 23 (-56.6%)
Mutual labels:  dokku
Dokku
A docker-powered PaaS that helps you build and manage the lifecycle of applications
Stars: ✭ 22,155 (+41701.89%)
Mutual labels:  dokku
dokku-nats
a nats plugin for dokku
Stars: ✭ 21 (-60.38%)
Mutual labels:  dokku
dokku-posteio
Poste.io plugin for Dokku
Stars: ✭ 27 (-49.06%)
Mutual labels:  dokku
dokku-api
Unmaintained: HTTP API on top of Dokku Daemon
Stars: ✭ 59 (+11.32%)
Mutual labels:  dokku
django-telegram-bot
My sexy Django + python-telegram-bot + Celery + Redis + Postgres + Dokku + GitHub Actions template
Stars: ✭ 470 (+786.79%)
Mutual labels:  dokku
minio-dokku
Dockerfile to run Minio (S3 compatible storage) on Dokku (mini-Heroku)
Stars: ✭ 102 (+92.45%)
Mutual labels:  dokku

Dokku AWS

This is a simple CloudFormation stack for deploying a Dokku instance to EC2 using an Ubuntu 16.04 LTS AMI. The instance is configured with an Elastic IP, so the IP will stay the same in case of stack updates that require the instance to be replaced.

If you wish to use your Dokku instance with S3, RDS, ElastiCache, and/or Elasticsearch, you should use aws-web-stacks instead.

The CloudFormation templates are written in troposphere, which allows for some validation at build time and simplifies the management of several related templates.

You can launch a new instance by clicking the Launch Stack button below or by pointing CloudFormation to the underlying template manually. Before launching a stack, make sure to upload your SSH public key to the Key Pairs section of the AWS console (this will be used both to allow logins to the ubuntu user on your EC2 instance and to allow deploys via the dokku user).

dokku-stack

Using the default values in this template (a t2.micro instance and 30 GB of disk space), your new Dokku instance should fit within the free tier on AWS.

DNS

After the stack is created, you'll want to inspect the Outputs for the PublicIP of the instance and create a DNS A record (possibly including a wildcard record, if you're using vhost-based apps) for your chosen domain.

For help creating a DNS record, please refer to the Dokku DNS documentation.

Deployment

Dokku may take 5-10 minutes to install, even after the stack has finished creating. Once that's complete, create a new app on the remote server:

ssh dokku@<your domain or IP> apps:create python-sample

and deploy Heroku's Python sample to that app:

git clone https://github.com/heroku/python-sample.git
cd python-sample
git remote add dokku dokku@<your domain or IP>:python-sample
git push dokku master

You should be able to watch the build complete in the output from the git push command. If the deploy completes successfully, you should be able to see "Hello world!" at http://python-sample.your.domain/

For additional help deploying to your new instance, please refer to the Dokku documentation.

Let's Encrypt

We might as well get a free SSL certificate from Let's Encrypt, while we're at it:

ssh ubuntu@<your domain or IP> sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
ssh dokku@<your domain or IP> config:set --no-restart python-sample [email protected]
ssh dokku@<your domain or IP> letsencrypt python-sample

The Python sample app should now be accessible over HTTPS at https://python-sample.your.domain/

Good luck and have fun!

Copyright 2017 Tobias McNulty.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].