A CLI tool for running Zappa in AWS Lambda-like Docker containers.
GPL-3.0 License
It's dead simple :
$ pip install zappadock
Check that the Docker daemon is running by typing docker info
command from a terminal.
Set your AWS credentials in environmental variables or in the ~/.aws
folder. See the Amazon Docs for more information.
Run zappadock
in the directory you wish to run your Zappa commands.
Your directory will be loaded in a docker container, and a virtual environment will be created and activated.
To run the built-in servers:
python manage.py runserver 0.0.0.0:8000
flask run --host=0.0.0.0 --port=8000
If you have any problems, open a issue and we'll figure it out.
This package makes dealing with Zappa a walk in the park.
Zappa runs Flask/Django web apps on AWS Lambda. We LOVE Zappa. However it's not the MOST user-friendly application ever.
You see, Zappa builds all your requirements before uploading your app to AWS Lambda. However, pip downloads the packages that are compatible with the computer it is running on, so when Zappa uploads it to AWS Lambda, many packages don't work (notably psycopg2
among others).
The solution recommend by the The Django Guide for Zappa is to run your Zappa commands in a docker container similar to the one that AWS Lambda uses. This will ensure that all the dependencies will be AWS Lambda compatible. This ZappaDock streamlines the workflow.
ZappaDock does 3 things.
~/.aws
folder and environmental variables into the container.So now you can test and deploy your code confident that it will work once deployed.
I mostly made this for myself. If you want to help make this a masterpiece, be a sport and contribute. Thanks!