423c596c28
- Add entrypoint.sh: creates /app/data, stamps legacy DBs, runs alembic upgrade head - Update Dockerfile to use new entrypoint and pre-create /app/data - Change default DATABASE_URL to sqlite:///./data/dmarq.db - Add _ensure_sqlite_dir() to database.py for automatic directory creation - Update docker-compose.yml with app_data named volume for /app/data - Add 6 tests for _ensure_sqlite_dir and updated default URL Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/2bac317b-97a2-450b-84f1-3e316f7ef54c Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
29 lines
766 B
Docker
29 lines
766 B
Docker
FROM python:3.10-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install required system dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
libpq-dev \
|
|
curl \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Remove Tailwind & DaisyUI build; using CDN links instead
|
|
|
|
# Copy Python requirements and install
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application code including templates and static assets
|
|
COPY . .
|
|
|
|
# Make the entrypoint executable and create the default data directory so
|
|
# SQLite has a place to write its file even without an explicit volume mount.
|
|
RUN chmod +x /app/entrypoint.sh && mkdir -p /app/data
|
|
|
|
# Expose application port
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/app/entrypoint.sh"] |