8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-10-05 18:42:12 +00:00

Add basic Docker support

Dockerfile should not change in the future.
Docker-compose configuration need some work on LDAP init before fully
working.
This commit is contained in:
Alexandre Iooss 2018-10-07 17:50:06 +02:00 committed by Alexandre IOOSS
parent cb5df24a99
commit 8b9285259a
3 changed files with 66 additions and 0 deletions

28
Dockerfile Normal file
View file

@ -0,0 +1,28 @@
FROM python:3.6-alpine
# Django code will be in /usr/src/app/
# During development you should mount the git code there,
# During production you should copy the code in the image.
WORKDIR /usr/src/app
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Install dependencies via pipenv
ADD Pipfile* ./
RUN apk update && apk add gcc musl-dev postgresql-dev
RUN pip install --upgrade pip==18.0
RUN pip install pipenv==2018.7.1
RUN pipenv install --deploy --system --dev
# Pass only port 8080
EXPOSE 8080
# Set entrypoint : make migrations and collect statics
COPY entrypoint.sh ./
ENTRYPOINT [ "./entrypoint.sh" ]
# Start Django app
CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"]

28
docker-compose.yml Normal file
View file

@ -0,0 +1,28 @@
# Use for development purposes only
version: '3'
services:
db:
image: postgres:alpine
environment:
- POSTGRES_DB=re2o
- POSTGRES_USER=re2o
- POSTGRES_PASSWORD=changeme
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=fr_FR.UTF-8 --lc-ctype=fr_FR.UTF-8
volumes:
- db_data:/var/lib/postgresql/data
restart: always
web:
build: .
ports:
- "8000:8000"
depends_on:
- db
volumes:
- .:/usr/src/app
restart: always
volumes:
db_data:

10
entrypoint.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
# Migrate database
python manage.py migrate --noinput
# Collect statics
python manage.py collectstatic --noinput
exec "$@"