Files
altstack-data/deployments/superset/Dockerfile

46 lines
1.1 KiB
Docker

# Dockerfile for Apache Superset
# Stage 1: Build Frontend (Optional if using pre-built assets, but good for custom builds)
FROM node:20-alpine AS frontend-builder
WORKDIR /app/superset-frontend
COPY superset-frontend/package.json superset-frontend/package-lock.json ./
RUN npm ci
COPY superset-frontend/ .
RUN npm run build
# Stage 2: Final Image
FROM python:3.11-slim-bookworm
# Create non-root user
RUN groupadd -r superset && useradd -r -m -g superset superset
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
curl \
libpq-dev \
libssl-dev \
libffi-dev \
libsasl2-dev \
libldap2-dev \
&& rm -rf /var/lib/apt/lists/*
# Install Superset
RUN pip install --no-cache-dir apache-superset flask-appbuilder
# Copy built frontend assets (if built in Stage 1)
# COPY --from=frontend-builder /app/superset/static/assets /app/superset/static/assets
# Set permissions
RUN chown -R superset:superset /app
USER superset
ENV SUPERSET_CONFIG_PATH=/app/superset_config.py
ENV FLASK_APP=superset
EXPOSE 8088
CMD ["superset", "run", "-p", "8088", "--with-threads", "--reload", "--debugger"]