From ed15b2c737bffc83008c694f01ad693ddbdd974a Mon Sep 17 00:00:00 2001 From: Joe Banks Date: Wed, 25 Aug 2021 22:34:14 +0000 Subject: Run collectstatic in the image build process, disable in prod startup --- Dockerfile | 7 +++++++ manage.py | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5594b458..3e0ebbb0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,13 @@ ENV GIT_SHA=$git_sha # Copy the source code in last to optimize rebuilding the image COPY . . +# Set dummy variables so collectstatic can load settings.py +RUN \ + SECRET_KEY=dummy_value \ + DATABASE_URL=postgres://localhost \ + METRICITY_DB_URL=postgres://localhost \ + python manage.py collectstatic + # Run web server through custom manager ENTRYPOINT ["python", "manage.py"] CMD ["run"] diff --git a/manage.py b/manage.py index d21546e1..e4d24002 100755 --- a/manage.py +++ b/manage.py @@ -138,10 +138,12 @@ class SiteManager: print("Applying migrations.") call_command("migrate", verbosity=self.verbosity) - print("Collecting static files.") - call_command("collectstatic", interactive=False, clear=True, verbosity=self.verbosity) if self.debug: + # In Production, collectstatic is ran in the Docker image + print("Collecting static files.") + call_command("collectstatic", interactive=False, clear=True, verbosity=self.verbosity) + self.set_dev_site_name() self.create_superuser() -- cgit v1.2.3