diff --git a/docs/docs/deployment.md b/docs/docs/deployment.md index a7764a951dc096be6fe2fddcb611df5fafcf43ec..0688c82bc274c3a912bd9bfef71c433a16cd3b9c 100644 --- a/docs/docs/deployment.md +++ b/docs/docs/deployment.md @@ -42,12 +42,6 @@ docker compose ps After that you should be able to visit http://localhost:8004/ and see the rights engine. -### Migrate rights-engine database (only required once after first start) and create mongo db index - -```bash -docker compose exec -it rights-engine sh -c 'python3 manage.py sqlflush | sed s/TRUNCATE/DROP\ TABLE\ IF\ EXISTS/g | python3 manage.py dbshell && echo DROP\ TABLE\ IF\ EXISTS\ django_migrations\; | python3 manage.py dbshell && python3 manage.py migrate && python3 manage.py loaddata fixtures/initial_db.json && python3 manage.py create_mongo_index' -``` - ### Migrate analytics-engine database (only required once after first start) ```bash @@ -227,12 +221,6 @@ See section `Installing Traefik` $ docker compose up -d ``` -#### 7. Migrate DB - -```console -$ docker compose exec -it rights-engine sh -c 'python3 manage.py sqlflush | sed s/TRUNCATE/DROP\ TABLE\ IF\ EXISTS/g | python3 manage.py dbshell && echo DROP\ TABLE\ IF\ EXISTS\ django_migrations\; | python3 manage.py dbshell && python3 manage.py migrate && python3 manage.py loaddata fixtures/initial_db.json' -``` - ### Analytics Engine VM setup #### 1. Clone deployment repository diff --git a/src/Dockerfile b/src/Dockerfile index aeda9e852d2f73eb4e2094df6980555c300ebde3..33c6280a663c48d3e8d971ee30c72f2ea70114a2 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -69,7 +69,10 @@ RUN cd frontend && npm run build ENV VIRTUAL_ENV=/env ENV PATH=/env/bin:$PATH -# Gunicorn Server -CMD ["gunicorn", "--bind", ":80", "--workers", "3", "--timeout", "240", "--access-logfile", "-", "--error-logfile", "-", "backend.wsgi"] +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +# Use entrypoint script to start the container +ENTRYPOINT ["/entrypoint.sh"] EXPOSE 80 diff --git a/src/entrypoint.sh b/src/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..22f0f883abcc31f2aad4d94a536ebc04143dea72 --- /dev/null +++ b/src/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "Running database migrations and role setup..." +python manage.py check_and_apply_migrations + +echo "Starting Gunicorn server..." +exec gunicorn --bind :80 --workers 3 --timeout 240 --access-logfile - --error-logfile - backend.wsgi diff --git a/src/providers/tests.py b/src/providers/tests.py index dfc555c0a4bb493288a2068869a332f954a19e31..005127655ffcc9ccde357fd0b7469bc5916cfd8b 100644 --- a/src/providers/tests.py +++ b/src/providers/tests.py @@ -23,7 +23,6 @@ class ProviderTestCase(TestCase): normal_user = CustomUser.objects.create_user(self.test_user_email, self.test_user_password) provider_user = CustomUser.objects.create_user(self.test_provider_email, self.test_provider_password) - assign_role(provider_user, 'provider') assign_role(normal_user, 'user') assign_role(provider_user, 'provider_manager')