mkdir ~/aws
cd aws
createfile >> credentials
# ~/aws/credentials
[default]
aws_access_key_id = <your access_key>
aws_secret_access_key = <your secret_access_key>
virtualenv env
source env/bin/activate
pip install django
# or
pip install flask
pip install zappa
create superuser
zappa manage dev create_admin_user <USER> <EMAIL> <PASSWORD>
migrate db
# 1
python manage.py makemigrations
#2
zappa update dev
#3
zappa manage dev migrate
install
pip install django-s3-sqlite django-s3-storage
settings.py
INSTALLED_APPS = [
...
'django_s3_sqlite',
'django_s3_storage',
...
]
DATABASES = {
"default": {
"ENGINE": "django_s3_sqlite",
"NAME": "sqlite.db",
"BUCKET": "<BUCKET_NAME>",
}
}
YOUR_S3_BUCKET = "<BUCKET_NAME>"
STATICFILES_STORAGE = "django_s3_storage.storage.StaticS3Storage"
AWS_S3_BUCKET_NAME_STATIC = YOUR_S3_BUCKET
# These next two lines will serve the static files directly
# from the s3 bucket
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % YOUR_S3_BUCKET
STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN
collectstatic
zappa update dev
zappa manage dev "collectstatic --noinput"
install
brew install awscli
package.json
"scripts": {
...
"deploy":"aws s3 sync build/ s3://<BUCKET_NAME> --acl public-read"
...
},
deploy
yarn build && yarn deploy