47 lines
1.2 KiB
Nginx Configuration File
47 lines
1.2 KiB
Nginx Configuration File
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
|