FROM apache/superset:latest USER root ENV PATH="/app/.venv/bin:$PATH" RUN python -m ensurepip --upgrade && /app/.venv/bin/python -m pip install --upgrade pip setuptools wheel RUN /app/.venv/bin/pip install --no-cache-dir psycopg2-binary # Install nginx and supervisor RUN apt-get update && apt-get install -y --no-install-recommends nginx supervisor && rm -rf /var/lib/apt/lists/* # Copy nginx config COPY nginx-superset.conf /etc/nginx/sites-available/default # Create supervisor config to run both nginx and gunicorn RUN cat > /etc/supervisor/conf.d/supervisord.conf << 'EOF' [supervisord] nodaemon=true user=root [program:nginx] command=nginx -g "daemon off;" autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:superset] command=/app/.venv/bin/gunicorn --bind 127.0.0.1:8088 --workers 4 --timeout 120 --limit-request-line 0 --limit-request-field_size 0 "superset.app:create_app()" directory=/app autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 user=superset EOF EXPOSE 80 USER superset