Skip to content

Instantly share code, notes, and snippets.

@elialejandro
Created August 31, 2025 05:51
Show Gist options
  • Save elialejandro/d3210534f2e9df0c7cdfd3fb1877bd03 to your computer and use it in GitHub Desktop.
Save elialejandro/d3210534f2e9df0c7cdfd3fb1877bd03 to your computer and use it in GitHub Desktop.
Docker - Django
services:
db:
image: postgres
volumes:
- db-data:/var/lib/postgresql/data
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE:-heineken_arqueo}'
POSTGRES_USER: '${DB_USERNAME:-heineken}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-heineken}'
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
retries: 3
timeout: 5s
web:
build: .
command: python manage.py runserver 0.0.0.0:8000 --settings=cervecentro.settings
volumes:
- .:/code
ports:
- '${APP_PORT:-8000}:8000'
environment:
DJANGO_SETTINGS_MODULE: 'cervecentro.settings'
POSTGRES_NAME: '${DB_DATABASE:-heineken_arqueo}'
POSTGRES_USER: '${DB_USERNAME:-heineken}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-heineken}'
POSTGRES_HOST: db
env_file:
- ./.env.dev
depends_on:
- db
# Storage
volumes:
db-data:
# syntax=docker/dockerfile:1
FROM python:3.7-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /code
RUN echo $TZ > /etc/timezone && \
apt-get install -y tzdata && \
rm /etc/localtime && \
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata && \
apt-get clean
# Install GDAL dependencies
RUN apt-get update && apt-get install -y libgdal-dev locales python3-dev g++
# Ensure locales configured correctly
RUN locale-gen en_US.UTF-8
ENV LC_ALL='en_US.utf8'
ENV LANG='en_US.utf8'
RUN locale-gen en_US.UTF-8
RUN echo "es_ES.UTF-8 UTF-8" | tee -a /etc/locale.gen; locale-gen es_ES.utf8
RUN locale-gen es_ES.UTF-8
# Update C env vars so compiler can find gdal
ENV CPLUS_INCLUDE_PATH=/usr/include/gdal
ENV C_INCLUDE_PATH=/usr/include/gdal
RUN apt-get update \
&& apt-get -y install libpq-dev gcc \
libffi-dev libxml2-dev libxslt1-dev \
libtiff-dev libjpeg-dev zlib1g-dev libfreetype6-dev
RUN pip install --upgrade pip
COPY ./requirements.txt .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment