diff --git a/.dockerignore b/.dockerignore index 000d4f0..8711690 100644 --- a/.dockerignore +++ b/.dockerignore @@ -19,5 +19,12 @@ yarn-debug.log* yarn-error.log* Dockerfile docker-compose.yml +docker-compose.dev.yml README.md -clouds.yaml \ No newline at end of file +*.md +clouds.yaml +.env.example +tailwind.config.js +package.json +package-lock.json +dashboard/tests/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 5193676..d9f203b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,23 @@ -FROM alpine:3 AS build +FROM alpine:3.21 AS build RUN apk update && \ apk add --no-cache --virtual .build-deps \ ca-certificates gcc postgresql-dev linux-headers musl-dev \ libffi-dev jpeg-dev zlib-dev \ - git bash build-base python3-dev \ - dos2unix + build-base python3-dev dos2unix RUN python3 -m venv /venv ENV PATH "/venv/bin:$PATH" COPY ./requirements.txt / -RUN pip install -r /requirements.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r /requirements.txt COPY ./docker-entrypoint.sh /docker-entrypoint.sh RUN dos2unix /docker-entrypoint.sh && \ chmod +x /docker-entrypoint.sh -FROM alpine:3 +FROM alpine:3.21 ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 @@ -32,6 +32,11 @@ COPY --from=build /docker-entrypoint.sh /docker-entrypoint.sh WORKDIR /app COPY . /app +ENV DJANGO_SETTINGS_MODULE=watcher_visio.settings +RUN python3 manage.py collectstatic --noinput + +RUN adduser -D -g "" app && chown -R app:app /app +USER app ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["python3", "manage.py", "runserver", "0.0.0.0:8080"] \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 6707b72..1efdbc1 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -4,8 +4,5 @@ set -e echo "Applying database migrations..." python3 manage.py migrate --noinput -echo "Collecting static files..." -python3 manage.py collectstatic --noinput - echo "Starting Django application..." exec "$@" \ No newline at end of file