feat: initial commit — OST to PST/MBOX converter with Docker support
Some checks failed
Build & Push Multi-Arch Image / build-and-push (push) Has been cancelled

This commit is contained in:
Simon Cloutier
2026-05-20 13:38:46 -04:00
commit cfee611fdc
17 changed files with 3311 additions and 0 deletions

38
Dockerfile Normal file
View File

@@ -0,0 +1,38 @@
# ─────────────────────────────────────────────────────────────────────────────
# OST to PST Converter
# Base: Eclipse Temurin 21 JRE (Debian Bookworm slim) + Node.js 22 LTS
# ─────────────────────────────────────────────────────────────────────────────
FROM eclipse-temurin:21-jre-bookworm
LABEL maintainer="OST2PST Converter"
LABEL description="Converts Outlook OST files to PST or MBOX format via a web UI"
# ── Install Node.js 22 via NodeSource ────────────────────────────────────────
RUN apt-get update && apt-get install -y curl ca-certificates --no-install-recommends \
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs --no-install-recommends \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# ── App directory ─────────────────────────────────────────────────────────────
WORKDIR /app
# ── Install Node dependencies first (better layer caching) ────────────────────
COPY package.json package-lock.json ./
RUN npm ci --omit=dev
# ── Copy application files ────────────────────────────────────────────────────
COPY server.js Convert.java aspose-email-24.12-jdk16.jar ./
COPY public/ ./public/
# ── Create runtime directories ────────────────────────────────────────────────
RUN mkdir -p uploads converted
# ── Expose web UI port ────────────────────────────────────────────────────────
EXPOSE 3000
# ── Health check ──────────────────────────────────────────────────────────────
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD curl -f http://localhost:3000 || exit 1
# ── Start server ──────────────────────────────────────────────────────────────
CMD ["node", "server.js"]