Fix GeoMap dashboard v3 - temperature_celsius + Geomap layer config
Fixes: - Temperature field: temperature_c (wrong) -> temperature_celsius (correct) - Geomap panel: added explicit location config with lat/lon field mapping - Added PM2.5 timeseries panel - Dashboard UID: geomap-test-v1
This commit is contained in:
52
bemserver/Dockerfile
Normal file
52
bemserver/Dockerfile
Normal file
@@ -0,0 +1,52 @@
|
||||
# BEMServer - Building Energy Management Server
|
||||
# Multi-component Dockerfile: core + api + ui + celery
|
||||
# Based on Python 3.11 slim with TimescaleDB support
|
||||
|
||||
FROM python:3.11-slim AS base
|
||||
|
||||
# System dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc \
|
||||
libpq-dev \
|
||||
libffi-dev \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/bemserver
|
||||
|
||||
# ---- Stage 1: Install bemserver-core ----
|
||||
FROM base AS core
|
||||
COPY bemserver/bemserver-core /tmp/bemserver-core
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-core
|
||||
|
||||
# ---- Stage 2: Install bemserver-api ----
|
||||
FROM core AS api
|
||||
COPY bemserver/bemserver-api /tmp/bemserver-api
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-api
|
||||
|
||||
# ---- Stage 3: Install bemserver-ui ----
|
||||
FROM api AS ui
|
||||
COPY bemserver/bemserver-ui /tmp/bemserver-ui
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-ui
|
||||
|
||||
# ---- Final stage ----
|
||||
FROM ui AS final
|
||||
|
||||
# Create non-root user
|
||||
RUN groupadd -r bemserver && useradd -r -g bemserver -d /opt/bemserver -s /sbin/nologin bemserver
|
||||
|
||||
# Create config directory
|
||||
RUN mkdir -p /opt/bemserver/config /opt/bemserver/data \
|
||||
&& chown -R bemserver:bemserver /opt/bemserver
|
||||
|
||||
# Copy entrypoint script
|
||||
COPY bemserver/entrypoint.sh /opt/bemserver/entrypoint.sh
|
||||
RUN chmod +x /opt/bemserver/entrypoint.sh
|
||||
|
||||
# Healthcheck
|
||||
HEALTHCHECK --interval=30s --timeout=10s --retries=5 --start_period=60s \
|
||||
CMD curl -f http://localhost:5000/healthz || exit 1
|
||||
|
||||
USER bemserver
|
||||
|
||||
ENTRYPOINT ["/opt/bemserver/entrypoint.sh"]
|
||||
Reference in New Issue
Block a user