FROM node:22-slim WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends python3 make g++ ca-certificates wget && rm -rf /var/lib/apt/lists/* # --- Litestream (SQLite-Streaming-Backup nach S3/B2) --- ARG LITESTREAM_VERSION=0.3.13 RUN set -eux; \ arch="$(dpkg --print-architecture)"; \ case "$arch" in amd64) ls_arch=amd64 ;; arm64) ls_arch=arm64 ;; *) ls_arch=amd64 ;; esac; \ wget -qO /tmp/litestream.tar.gz "https://github.com/benbjohnson/litestream/releases/download/v${LITESTREAM_VERSION}/litestream-v${LITESTREAM_VERSION}-linux-${ls_arch}.tar.gz"; \ tar -C /usr/local/bin -xzf /tmp/litestream.tar.gz; \ rm /tmp/litestream.tar.gz; \ litestream version COPY package*.json ./ RUN npm install --no-audit --no-fund COPY . . RUN npm run build RUN chmod +x ./docker-entrypoint.sh ENV HOST=0.0.0.0 PORT=4321 NODE_ENV=production DB_PATH=/data/hdc.db LITESTREAM_CONFIG=/app/litestream.yml RUN mkdir -p /data EXPOSE 4321 HEALTHCHECK --interval=15s --timeout=5s --start-period=25s --retries=5 CMD wget -qO- http://127.0.0.1:4321/ >/dev/null 2>&1 || exit 1 CMD ["./docker-entrypoint.sh"]