Commit 75d74762 authored by Alexandre Iooss's avatar Alexandre Iooss

Add basic Docker support

Dockerfile should not change in the future.
Docker-compose configuration need some work on LDAP init before fully
working.
parent 840dcac1
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"]
# 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:
#!/bin/sh
# Migrate database
python manage.py migrate --noinput
# Collect statics
python manage.py collectstatic --noinput
exec "$@"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment