codedematrix/datacollection
0
1FROM python:3.12-slim2 3WORKDIR /app4 5# Install system dependencies including PostgreSQL server6RUN apt-get update && apt-get install -y \7 postgresql \8 postgresql-client \9 nodejs \10 npm \11 libmagic1 \12 libmagic-dev \13 && rm -rf /var/lib/apt/lists/*14 15# Backend setup16COPY backend/requirements.txt ./backend/17RUN pip install --no-cache-dir -r backend/requirements.txt18 19# Frontend setup20COPY frontend/package*.json ./frontend/21RUN cd frontend && npm ci22 23# Copy all code24COPY backend ./backend25COPY frontend ./frontend26 27# Expose ports28EXPOSE 7860 8000 300029 30# Startup: init postgres, run migrations, seed, start both servers31CMD bash -c "\32 service postgresql start && \33 sleep 3 && \34 su -c \"psql -c \\\"CREATE USER nca WITH PASSWORD 'nca_dev_pass';\\\"\" postgres 2>/dev/null || true && \35 su -c \"psql -c \\\"CREATE DATABASE nca_dc OWNER nca;\\\"\" postgres 2>/dev/null || true && \36 export DATABASE_URL=postgresql://nca:nca_dev_pass@localhost:5432/nca_dc && \37 cd /app/backend && \38 python manage.py migrate && \39 python manage.py seed_data && \40 python manage.py runserver 0.0.0.0:8000 & \41 cd /app/frontend && \42 DJANGO_INTERNAL_URL=http://localhost:8000 npm run dev -- -p 7860\43"44 