* Rust backend: initial setup and space primitives implementation + tests * Rust: initial basic server setup * Rust server: auth layer * Rust: added specific auth layers * Rust: shell and proxy endpoints * Rust: SSR and Prometheus metrics * Rust: runtime API * Rust: basic working silverbullet binary server * Rust: fix client file caching * Rust: in dev mode, update version number dynamically * Rust: build-rs Makefile target * Rust: auth and start of 'sb' CLI * Rust: headless Chrome runtime runner * Rust: basic e2e tests for Rust build * Rust: docker builds * Rust: forgot to commit silverbullet-bin code * Rust: cross compile and chrome driver fixes * Rust: waiting for ready status fixes * Rust: sb-CLI port * Rust: use native build toolchain * Rust: fix build chain * Rust: edge release builds * Rust: FreeBSD and armv7 builds * Rust: edge-upgrade from edge-rust release * Rust: fix FreeBSD build * Rust: fix FreeBSD build * Rust: get rid of Go code * refactor: rename library crates to server- prefix convention * Rust: refactoring, moving crypto around * Rust: more refactoring * Runtime: internal renaming * Fix: cursor placement after paste on Webkit browsers * Tweak how version numbers are generated and consumed * Cleanup CI situation * Fix CI * Fix e2e * ci: website image uses :edge channel (was :v2) post-merge * Rust: restore manifest.json endpoint * Rust: ready to merge
33 lines
1.2 KiB
Docker
33 lines
1.2 KiB
Docker
# Base Alpine image for the SilverBullet server.
|
|
# Copies a PRE-CROSS-COMPILED, statically-linked musl binary built on the CI
|
|
# runner via native `cargo build --target` + installed musl cross-toolchains
|
|
# (see .github/workflows/ci.yml). Because there is no in-image compilation,
|
|
# multi-arch `buildx` is fast (it only emulates the small Alpine layers). The
|
|
# binary is static, so it runs on bare Alpine.
|
|
#
|
|
# This is the BASE variant: no Chromium, so `/.runtime/*` returns 503.
|
|
# `Dockerfile.runtime-api` layers Chromium on top to enable the runtime API.
|
|
#
|
|
# Published by `.github/workflows/ci.yml`.
|
|
|
|
FROM alpine:latest
|
|
|
|
# `buildx` sets TARGETARCH to `amd64` / `arm64`; pick the matching pre-built
|
|
# binary (silverbullet-amd64 / silverbullet-arm64, built on the CI runner).
|
|
ARG TARGETARCH
|
|
|
|
RUN apk add --no-cache git curl bash tini
|
|
|
|
ENV SB_HOSTNAME=0.0.0.0 \
|
|
SB_FOLDER=/space \
|
|
SB_PORT=3000
|
|
|
|
EXPOSE 3000
|
|
HEALTHCHECK CMD curl --fail "http://localhost:$SB_PORT$SB_URL_PREFIX/.ping" || exit 1
|
|
|
|
COPY silverbullet-${TARGETARCH} /silverbullet
|
|
RUN chmod +x /silverbullet
|
|
|
|
# Extra args (e.g. `--user me:letmein`) are appended to the binary invocation.
|
|
ENTRYPOINT ["/sbin/tini", "--", "/silverbullet"]
|