This repository has no description
1.1 kB
38 lines
1FROM node:22-slim
2
3# Install git, curl, patchelf, and other deps
4RUN apt-get update && apt-get install -y \
5 git \
6 curl \
7 ca-certificates \
8 patchelf \
9 && rm -rf /var/lib/apt/lists/*
10
11# Install carry (local-first semantic DB) — patch Nix-built binary for Debian
12RUN curl -fsSL -o /usr/local/bin/carry \
13 https://github.com/tonk-labs/tonk/releases/download/latest/carry-linux-x86_64 \
14 && chmod +x /usr/local/bin/carry \
15 && patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 /usr/local/bin/carry \
16 && apt-get purge -y patchelf && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*
17
18WORKDIR /app
19
20# Install ob (Obsidian headless CLI) globally
21RUN npm install -g obsidian-headless
22
23# Install deps
24COPY package.json ./
25RUN npm install --production
26
27# Copy analysis engine (ARG to bust cache on source changes)
28ARG BUILD_DATE=unknown
29COPY server.ts ./
30COPY analysis.ts ./
31COPY sync.ts ./
32
33# Create data directories
34RUN mkdir -p /data/vault /data/carry
35
36EXPOSE 8080
37
38CMD ["node", "--experimental-strip-types", "server.ts"]