| | |
| | FROM node:20-alpine AS frontend-build |
| | WORKDIR /frontend |
| |
|
| | |
| | |
| | ARG VITE_FIREBASE_API_KEY |
| | ARG VITE_FIREBASE_AUTH_DOMAIN |
| | ARG VITE_FIREBASE_PROJECT_ID |
| | ARG VITE_FIREBASE_STORAGE_BUCKET |
| | ARG VITE_FIREBASE_MESSAGING_SENDER_ID |
| | ARG VITE_FIREBASE_APP_ID |
| | ARG VITE_API_BASE_URL |
| |
|
| | |
| | |
| | ENV VITE_FIREBASE_API_KEY=$VITE_FIREBASE_API_KEY |
| | ENV VITE_FIREBASE_AUTH_DOMAIN=$VITE_FIREBASE_AUTH_DOMAIN |
| | ENV VITE_FIREBASE_PROJECT_ID=$VITE_FIREBASE_PROJECT_ID |
| | ENV VITE_FIREBASE_STORAGE_BUCKET=$VITE_FIREBASE_STORAGE_BUCKET |
| | ENV VITE_FIREBASE_MESSAGING_SENDER_ID=$VITE_FIREBASE_MESSAGING_SENDER_ID |
| | ENV VITE_FIREBASE_APP_ID=$VITE_FIREBASE_APP_ID |
| | ENV VITE_API_BASE_URL=$VITE_API_BASE_URL |
| |
|
| | |
| | COPY frontend/package*.json ./ |
| | RUN npm install |
| |
|
| | |
| | COPY frontend/ . |
| |
|
| | |
| | |
| | RUN chmod +x build-env.sh && \ |
| | ./build-env.sh && \ |
| | npm run build |
| | |
| |
|
| | |
| | FROM python:3.11-slim |
| |
|
| | ENV PYTHONDONTWRITEBYTECODE=1 |
| | ENV PYTHONUNBUFFERED=1 |
| |
|
| | WORKDIR /app |
| |
|
| | |
| | RUN apt-get update && apt-get install -y --no-install-recommends \ |
| | build-essential \ |
| | && rm -rf /var/lib/apt/lists/* |
| |
|
| | |
| | COPY backend/requirements.txt ./backend/requirements.txt |
| | RUN pip install --no-cache-dir -r backend/requirements.txt |
| |
|
| | |
| | COPY backend ./backend |
| |
|
| | |
| | |
| | RUN mkdir -p backend/frontend_dist |
| | COPY --from=frontend-build /frontend/dist ./backend/frontend_dist |
| |
|
| | |
| | RUN mkdir -p data |
| |
|
| | |
| | ENV DB_PATH=/app/data/app.db |
| | ENV PORT=7860 |
| | ENV PYTHONPATH=/app |
| |
|
| | EXPOSE 7860 |
| |
|
| | |
| | CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "7860"] |
| |
|