add local dev docker

This commit is contained in:
Ross
2025-10-26 19:30:48 +00:00
parent e687b55e6a
commit c2d6cfa78e
3 changed files with 62 additions and 4 deletions
+12
View File
@@ -9,3 +9,15 @@ DB_PASSWORD=postgres
DB_PORT=5432
MEMCACHE_HOST=cache
# DEV-specific vars used by rad/settings_local.py
DEV_USE_POSTGRES=1
DEV_DB_NAME=${DB_NAME}
DEV_DB_USER=${DB_USER}
DEV_DB_PASSWORD=${DB_PASSWORD}
DEV_DB_HOST=${DB_HOST}
DEV_DB_PORT=${DB_PORT}
# pgAdmin creds
PGADMIN_DEFAULT_EMAIL=admin@example.com
PGADMIN_DEFAULT_PASSWORD=admin
+14 -2
View File
@@ -7,11 +7,13 @@ services:
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
web:
build: ./rad
build:
context: ..
dockerfile: rad/Dockerfile
command: python manage.py runserver 0.0.0.0:8000
#command: pip install -r requirements.txt
volumes:
- ./rad/:/usr/src/rad/
- ../rad/:/usr/src/rad/
- ../rts/:/usr/src/rad/rts
- ../Viewers/platform/app/dist/:/usr/src/rad/viewer
- ./backups:/usr/src/backups
@@ -30,6 +32,15 @@ services:
- POSTGRES_USER=django
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=rad
pgadmin:
image: dpage/pgadmin4:7.2
environment:
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL:-admin@local}
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD:-admin}
ports:
- 8080:80
volumes:
- pgadmin_data:/var/lib/pgadmin
cache:
image: memcached
ports:
@@ -37,3 +48,4 @@ services:
volumes:
postgres_data:
pgadmin_data:
+34
View File
@@ -0,0 +1,34 @@
FROM python:3.14-slim
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Install packages needed to build common Python packages and Postgres client
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc \
git \
libpq-dev \
pkg-config \
libcairo2-dev \
libgdk-pixbuf-xlib-2.0-0 \
libgdk-pixbuf-xlib-2.0-dev \
libjpeg-dev \
zlib1g-dev \
wget \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
# Install Python deps first for better caching
COPY requirements.txt /usr/src/app/
RUN pip install --upgrade pip setuptools wheel && \
pip install --no-cache-dir -r requirements.txt
# Copy project (will be shadowed by volume in development)
COPY . /usr/src/app
WORKDIR /usr/src/app
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]