diff --git a/Dockerfile b/Dockerfile index 2daa3a8..aaacb59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,9 @@ RUN apk add --virtual build-deps gcc python3-dev musl-dev && \ COPY . . +# Create symlink to manage.py script in PATH +RUN ln -s /usr/src/app/manage.py /usr/local/bin/manage.py + EXPOSE 8000 CMD ["gunicorn", "pluralityspace.wsgi:application", \ diff --git a/Makefile b/Makefile index 296ebe9..2ba5dd4 100644 --- a/Makefile +++ b/Makefile @@ -9,8 +9,9 @@ SERVER_LISTEN ?= 0.0.0.0:8042 STAGE ?= production GIT_CRYPT_KEY ?= ~/.git-crypt-keys/$(APP_NAME)-$(STAGE).key DOCKER_COMPOSE_YML := .deployment/$(STAGE)/docker-compose.yml +APP_CONTAINER_NAME := django -.PHONY: run docker-build docker-run decrypt deploy log-show +.PHONY: run docker-build docker-run decrypt deploy log-show live-collectstatic live-migrate live-shell # Default target: none all: @@ -44,3 +45,15 @@ deploy: # Show logs for running container log-show: docker-compose -f $(DOCKER_COMPOSE_YML) logs -f + +# Run django 'collectstatic' command on live container +live-collectstatic: + docker-compose -f $(DOCKER_COMPOSE_YML) exec ${APP_CONTAINER_NAME} manage.py collectstatic --no-input --clear + +# Run django 'migrate' command on live container +live-migrate: + docker-compose -f $(DOCKER_COMPOSE_YML) exec ${APP_CONTAINER_NAME} manage.py migrate --no-input + +# Run shell in live container +live-shell: + docker-compose -f $(DOCKER_COMPOSE_YML) exec ${APP_CONTAINER_NAME} sh diff --git a/manage.py b/manage.py index ffaee31..808159b 100755 --- a/manage.py +++ b/manage.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """Django's command-line utility for administrative tasks.""" import os import sys