development docker-compose.yml for database and stuff
This commit is contained in:
parent
2b30676431
commit
928b28845b
5 changed files with 55 additions and 5 deletions
|
@ -2,3 +2,5 @@
|
||||||
.idea/
|
.idea/
|
||||||
*.drawio
|
*.drawio
|
||||||
.ruff_cache/
|
.ruff_cache/
|
||||||
|
*.sqlite3
|
||||||
|
*.db
|
||||||
|
|
36
Dockerfile
36
Dockerfile
|
@ -4,11 +4,9 @@ FROM python:${PYTHON_VERSION}-alpine AS base
|
||||||
|
|
||||||
ENV PYTHONUNBUFFERED=1 \
|
ENV PYTHONUNBUFFERED=1 \
|
||||||
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
POETRY_VIRTUALENVS_CREATE=false \
|
POETRY_VIRTUALENVS_CREATE=false \
|
||||||
VENV=/root/.venv
|
VENV=/root/.venv
|
||||||
|
|
||||||
|
|
||||||
RUN adduser --disabled-password --gecos "" django
|
RUN adduser --disabled-password --gecos "" django
|
||||||
|
|
||||||
FROM base AS poetry
|
FROM base AS poetry
|
||||||
|
@ -19,6 +17,8 @@ RUN : \
|
||||||
&& python -m venv ${VENV} \
|
&& python -m venv ${VENV} \
|
||||||
&& . ${VENV}/bin/activate \
|
&& . ${VENV}/bin/activate \
|
||||||
&& pip install poetry==${POETRY_VERSION} \
|
&& pip install poetry==${POETRY_VERSION} \
|
||||||
|
&& apk add gettext shadow \
|
||||||
|
&& apk -v cache clean \
|
||||||
&& :
|
&& :
|
||||||
|
|
||||||
ENV PATH="${VENV}/bin:${PATH}"
|
ENV PATH="${VENV}/bin:${PATH}"
|
||||||
|
@ -33,11 +33,32 @@ RUN poetry install --no-interaction --no-ansi -vvv
|
||||||
|
|
||||||
COPY scripts/ /usr/local/tmp-bin
|
COPY scripts/ /usr/local/tmp-bin
|
||||||
|
|
||||||
RUN chmod +x /usr/local/tmp-bin/* \
|
RUN : \
|
||||||
|
&& chmod +x /usr/local/tmp-bin/* \
|
||||||
&& mv /usr/local/tmp-bin/* /usr/local/bin \
|
&& mv /usr/local/tmp-bin/* /usr/local/bin \
|
||||||
&& rmdir /usr/local/tmp-bin
|
&& rmdir /usr/local/tmp-bin \
|
||||||
|
&& :
|
||||||
|
|
||||||
ENTRYPOINT ["entrypoint.sh"]
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
CMD ["run.sh"]
|
||||||
|
|
||||||
|
FROM deps AS development
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ARG GID=1000
|
||||||
|
ARG UID=1000
|
||||||
|
|
||||||
|
RUN : \
|
||||||
|
&& groupmod django -g $GID \
|
||||||
|
&& usermod django -u $UID -g $GID \
|
||||||
|
&& :
|
||||||
|
|
||||||
|
COPY --chown=django . .
|
||||||
|
|
||||||
|
USER django
|
||||||
|
|
||||||
|
CMD ["run-dev.sh"]
|
||||||
|
|
||||||
FROM deps AS production
|
FROM deps AS production
|
||||||
|
|
||||||
|
@ -45,4 +66,9 @@ WORKDIR /app
|
||||||
|
|
||||||
COPY --chown=django . .
|
COPY --chown=django . .
|
||||||
|
|
||||||
CMD ["run.sh"]
|
USER django
|
||||||
|
|
||||||
|
RUN : \
|
||||||
|
&& ./manage.py compilemessages \
|
||||||
|
&& ./manage.py collectstatic --noinput \
|
||||||
|
&& :
|
||||||
|
|
14
docker-compose.yml
Normal file
14
docker-compose.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
services:
|
||||||
|
api:
|
||||||
|
image: facturio
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
GID: ${GID:-1000}
|
||||||
|
UID: ${UID:-1000}
|
||||||
|
target: development
|
||||||
|
ports:
|
||||||
|
- "8000:8000"
|
||||||
|
volumes:
|
||||||
|
- .:/app:Z
|
4
scripts/run-dev.sh
Normal file
4
scripts/run-dev.sh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
./manage.py migrate
|
||||||
|
./manage.py runserver 0.0.0.0:8000
|
|
@ -1,5 +1,9 @@
|
||||||
#/bin/sh
|
#/bin/sh
|
||||||
|
|
||||||
|
echo "Migrating..."
|
||||||
|
./manage.py migrate >/dev/null
|
||||||
|
|
||||||
|
|
||||||
gunicorn \
|
gunicorn \
|
||||||
--threads 2 \
|
--threads 2 \
|
||||||
--workers 4 \
|
--workers 4 \
|
||||||
|
|
Reference in a new issue