I'm trying to build a Django project with Docker, but I always get this error and I don't know how to handle it: /usr/local/lib/python3.13/site-packages/django/coremanagement/commands makemigrations.py:160: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': unable to open database file There are more errors down the line, but all of them are about permission to create a db.sqlite3 database. docker-compose.yml: version: "3.9" services: puppint: build: . container_name: puppint_app ports: - "8000:8000" volumes: - .:/app - ./static:/app/static env_file: - ./api.env working_dir: /app command: > sh -c "python puppint.py" Dockerfile: FROM python:3.13-slim AS builder RUN mkdir /app WORKDIR /app ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 RUN pip install --upgrade pip COPY requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt FROM python:3.13-slim RUN useradd -m -r appuser && \ mkdir /app && \ chown -R appuser /app COPY --from=builder /usr/local/lib/python3.13/site-packages/ /usr/local/lib/python3.13/site-packages/ COPY --from=builder /usr/local/bin/ /usr/local/bin/ WORKDIR /app COPY --chown=appuser:appuser . . ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 USER appuser EXPOSE 8000 CMD ["python3 puppint.py"] puppint.py is a script that starts making migrations. I've created it mainly for checking whether the user is a superuser or not. puppint.py: import os import subprocess from time import sleep os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'puppint.settings') import django django.setup() from django.contrib.auth.models import User def run_command(command): try: subprocess.run(command, shell=True, check=True) except subprocess.CalledProcessError as e: print(f"Error when executing '{command}': {e}") def check_superuser(): if not User.objects.filter(is_superuser=True).exists(): print("No superuser in database!\n") username = input("Enter username: ") email = input("Enter e-mail: ") password = input("Enter password: ") User.objects.create_superuser(username, email, password) def main(): print_banner() sleep(1) run_command("python manage.py makemigrations app") run_command("python manage.py migrate") run_command("python manage.py collectstatic --noinput") check_superuser() run_command("python manage.py runserver 0.0.0.0:8000") if __name__ == "__main__": main() Do you know how can I allow this permission for creating the database etc. when building the Django application? Thanks! Continue reading...