Added Docker support

This commit is contained in:
maziggy
2025-12-09 17:06:54 +00:00
parent e6b01d8ead
commit 83d8c4e865
3 changed files with 106 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
# Git
.git
.gitignore
# Python
__pycache__
*.py[cod]
*$py.class
*.so
.Python
venv/
.venv/
ENV/
env/
.env
*.egg-info/
.eggs/
dist/
build/
# Node
frontend/node_modules/
frontend/.npm
# IDE
.idea/
.vscode/
*.swp
*.swo
# Testing
.pytest_cache/
.coverage
htmlcov/
# Logs and data (will be mounted as volumes)
logs/
data/
*.log
*.db
# Build artifacts
static/
# Documentation
docs/
*.md
!requirements.txt
# Docker
Dockerfile
docker-compose*.yml
.dockerignore
+37
View File
@@ -0,0 +1,37 @@
# Build frontend
FROM node:22-alpine AS frontend-builder
WORKDIR /app/frontend
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ ./
RUN npm run build
# Production image
FROM python:3.13-slim
WORKDIR /app
# Install dependencies
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# Copy backend
COPY backend/ ./backend/
# Copy built frontend from builder stage
COPY --from=frontend-builder /app/static ./static
# Create data directory for persistent storage
RUN mkdir -p /app/data /app/logs
# Environment variables
ENV PYTHONUNBUFFERED=1
ENV DATA_DIR=/app/data
EXPOSE 8000
# Run the application
CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "8000"]
+16
View File
@@ -0,0 +1,16 @@
services:
bambuddy:
build: .
container_name: bambuddy
ports:
- "8000:8000"
volumes:
- bambuddy_data:/app/data
- bambuddy_logs:/app/logs
environment:
- TZ=Europe/Berlin
restart: unless-stopped
volumes:
bambuddy_data:
bambuddy_logs: