diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-17 19:55:36 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-17 19:55:36 +0200 |
| commit | 380195f7cd5e57acf2c1cf2bc41069e6b0b979ed (patch) | |
| tree | 32a88fb22a7fbe8f1fd5c105156d1f928c93950d /Dockerfile | |
| download | bokf-380195f7cd5e57acf2c1cf2bc41069e6b0b979ed.tar.gz bokf-380195f7cd5e57acf2c1cf2bc41069e6b0b979ed.zip | |
Initial commit: daemon, clients, docs, Docker deploy pipelinev0.1.0
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ba76b97 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +# syntax=docker/dockerfile:1 + +FROM debian:bookworm-slim AS build +RUN apt-get update \ + && apt-get install -y --no-install-recommends build-essential libncurses-dev \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /src +COPY . . +RUN make -j"$(nproc)" && make test + +FROM debian:bookworm-slim AS runtime +RUN apt-get update \ + && apt-get install -y --no-install-recommends libncursesw6 ca-certificates \ + && rm -rf /var/lib/apt/lists/* \ + && useradd --system --uid 10001 --home-dir /var/lib/bokfd \ + --shell /usr/sbin/nologin bokfd \ + && install -d -o bokfd -g bokfd /var/lib/bokfd /var/lib/bokfd/backup \ + /var/lib/bokfd/export /run/bokfd +COPY --from=build /src/build/bokfd /src/build/bokfctl /src/build/bokftui \ + /usr/local/bin/ +COPY --from=build /src/data/bas_k2.csv /src/data/bas_k3.csv \ + /usr/local/share/bokf/ +COPY deploy/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh +RUN chmod 0755 /usr/local/bin/docker-entrypoint.sh + +ENV BOKFD_DB=/var/lib/bokfd/bokfd.db \ + BOKFD_SOCKET=/run/bokfd/bokfd.sock \ + BOKFD_BACKUP_DIR=/var/lib/bokfd/backup \ + BOKFD_EXPORT_DIR=/var/lib/bokfd/export + +VOLUME ["/var/lib/bokfd", "/run/bokfd"] +HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \ + CMD ["bokfctl", "health"] +ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] +CMD ["bokfd"] |
