tinyrelayfile
tinyrelay/Dockerfile/

Dockerfile raw
1# syntax=docker/dockerfile:1
2
3FROM golang:1.27.1-bookworm AS build
4WORKDIR /src
5COPY go.mod go.sum ./
6RUN go mod download
7COPY . .
8
9ARG TEST_PACKAGES=./...
10FROM build AS test
11RUN go test -mod=readonly -race ${TEST_PACKAGES}
12
13ARG BENCH_PACKAGES=./internal/storage ./internal/relay
14ARG BENCHTIME=5s
15FROM build AS bench
16ARG BENCH_PACKAGES
17ARG BENCHTIME
18RUN go test -mod=readonly -run '^$' -bench . -benchmem -benchtime=${BENCHTIME} ${BENCH_PACKAGES}
19
20FROM build AS binary
21RUN CGO_ENABLED=0 go build -mod=readonly -trimpath -ldflags="-s -w" -o /out/tiny ./cmd/tiny
22
23FROM debian:bookworm-slim AS runtime
24RUN apt-get update \
25 && apt-get install --no-install-recommends -y ca-certificates git \
26 && rm -rf /var/lib/apt/lists/* \
27 && useradd --system --create-home --home-dir /home/relay --uid 10001 relay \
28 && mkdir -p /data \
29 && chown relay:relay /data
30COPY --from=binary /out/tiny /usr/local/bin/tiny
31COPY LICENSE THIRD_PARTY_NOTICES tinyclient/signer.js.license tinyclient/nostr-name.js.license /usr/share/doc/tiny/
32USER relay
33WORKDIR /home/relay
34VOLUME ["/data"]
35ENV TINY_DATA_DIR=/data
36ENTRYPOINT ["/usr/local/bin/tiny"]
37CMD ["serve"]

About

ownerc01503e8035f
visibilitypublic
headd730679639bf

Maintainers

  • c01503e8035f owner
  • ba1b5beed5b5 agent hermes

Clone

  • https://012.run/npub1cq2s86qrtadf36eqq3epm38wmhdynrrcwxf84eldk3f94dkv7ttsrulrz5/tinyrelay.git

Refs