Update Dockerfile
Browse files- Dockerfile +13 -6
Dockerfile
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
# =============================================================================
|
| 2 |
# Multi-stage Dockerfile for Webscout API Server
|
| 3 |
# Optimized for production with security, performance, and size considerations
|
|
|
|
| 4 |
# =============================================================================
|
| 5 |
|
| 6 |
# -----------------------------------------------------------------------------
|
|
@@ -48,7 +49,9 @@ RUN pip install \
|
|
| 48 |
gunicorn[gthread] \
|
| 49 |
uvicorn[standard] \
|
| 50 |
prometheus-client \
|
| 51 |
-
structlog
|
|
|
|
|
|
|
| 52 |
|
| 53 |
# -----------------------------------------------------------------------------
|
| 54 |
# Stage 2: Runtime - Create minimal production image
|
|
@@ -86,9 +89,13 @@ ENV PYTHONUNBUFFERED=1 \
|
|
| 86 |
MALLOC_ARENA_MAX=2 \
|
| 87 |
# Application settings
|
| 88 |
WEBSCOUT_HOST=0.0.0.0 \
|
| 89 |
-
WEBSCOUT_PORT=
|
| 90 |
WEBSCOUT_WORKERS=1 \
|
| 91 |
-
WEBSCOUT_LOG_LEVEL=info
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
|
| 93 |
# Install only runtime dependencies
|
| 94 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
@@ -124,8 +131,8 @@ EXPOSE $WEBSCOUT_PORT
|
|
| 124 |
|
| 125 |
# Add health check
|
| 126 |
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
| 127 |
-
CMD curl -f http://localhost:${WEBSCOUT_PORT:-8000}/
|
| 128 |
|
| 129 |
-
# Default command - start the webscout API server
|
| 130 |
# Environment variables will be used by the application
|
| 131 |
-
CMD ["python", "-m", "webscout.
|
|
|
|
| 1 |
# =============================================================================
|
| 2 |
# Multi-stage Dockerfile for Webscout API Server
|
| 3 |
# Optimized for production with security, performance, and size considerations
|
| 4 |
+
# No external docker/ directory required - works with pip/git installations
|
| 5 |
# =============================================================================
|
| 6 |
|
| 7 |
# -----------------------------------------------------------------------------
|
|
|
|
| 49 |
gunicorn[gthread] \
|
| 50 |
uvicorn[standard] \
|
| 51 |
prometheus-client \
|
| 52 |
+
structlog \
|
| 53 |
+
motor \
|
| 54 |
+
pymongo
|
| 55 |
|
| 56 |
# -----------------------------------------------------------------------------
|
| 57 |
# Stage 2: Runtime - Create minimal production image
|
|
|
|
| 89 |
MALLOC_ARENA_MAX=2 \
|
| 90 |
# Application settings
|
| 91 |
WEBSCOUT_HOST=0.0.0.0 \
|
| 92 |
+
WEBSCOUT_PORT=8000 \
|
| 93 |
WEBSCOUT_WORKERS=1 \
|
| 94 |
+
WEBSCOUT_LOG_LEVEL=info \
|
| 95 |
+
# Authentication settings (new)
|
| 96 |
+
WEBSCOUT_NO_AUTH=false \
|
| 97 |
+
WEBSCOUT_NO_RATE_LIMIT=false \
|
| 98 |
+
WEBSCOUT_DATA_DIR=/app/data
|
| 99 |
|
| 100 |
# Install only runtime dependencies
|
| 101 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
|
| 131 |
|
| 132 |
# Add health check
|
| 133 |
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
| 134 |
+
CMD curl -f http://localhost:${WEBSCOUT_PORT:-8000}/health || exit 1
|
| 135 |
|
| 136 |
+
# Default command - start the webscout API server with new auth system
|
| 137 |
# Environment variables will be used by the application
|
| 138 |
+
CMD ["python", "-m", "webscout.auth.server"]
|