mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-18 01:53:14 +02:00
46 lines
1.1 KiB
Docker
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"]
|