aboutsummaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-19 10:56:35 -0700
committerAdam Soltys <[email protected]>2026-03-19 10:56:39 -0700
commit34e78d287622b0f04769d686a07267faa2ca5d3a (patch)
treea060e690a647975e2eca334eb3af48cfb5b7ba49 /docker
parenta6ae2c65f26aeff292028c6851b68347312fb3af (diff)
downloadcoinos-server-34e78d287622b0f04769d686a07267faa2ca5d3a.tar.gz
coinos-server-34e78d287622b0f04769d686a07267faa2ca5d3a.zip
dockerfiles
Diffstat (limited to 'docker')
-rw-r--r--docker/arkd.Dockerfile6
-rw-r--r--docker/base.Dockerfile19
-rw-r--r--docker/bitcoin.Dockerfile11
-rw-r--r--docker/chopsticks.Dockerfile6
-rw-r--r--docker/electrs.Dockerfile6
-rw-r--r--docker/elements.Dockerfile11
-rw-r--r--docker/kvrocks.Dockerfile6
-rw-r--r--docker/lightningd.Dockerfile13
-rw-r--r--docker/strfry.Dockerfile18
-rw-r--r--docker/tigerbeetle.Dockerfile6
10 files changed, 102 insertions, 0 deletions
diff --git a/docker/arkd.Dockerfile b/docker/arkd.Dockerfile
new file mode 100644
index 00000000..08deb403
--- /dev/null
+++ b/docker/arkd.Dockerfile
@@ -0,0 +1,6 @@
+FROM asoltys/arkd AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /app/arkd /app/ark /usr/local/bin/
+ENTRYPOINT ["arkd"]
diff --git a/docker/base.Dockerfile b/docker/base.Dockerfile
new file mode 100644
index 00000000..554a75de
--- /dev/null
+++ b/docker/base.Dockerfile
@@ -0,0 +1,19 @@
+FROM debian:trixie-slim
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ curl unzip ca-certificates wget \
+ libpq5 libsodium23 libatomic1 jq socat inotify-tools \
+ liblmdb0 libsecp256k1-2 tini \
+ && curl -fsSL https://bun.sh/install | bash \
+ && mv /root/.bun/bin/bun /usr/local/bin/bun \
+ && ln -s /usr/local/bin/bun /usr/local/bin/bunx \
+ && rm -rf /root/.bun \
+ && apt-get purge -y curl unzip \
+ && apt-get autoremove -y \
+ && rm -rf /var/lib/apt/lists/* \
+ /usr/share/doc /usr/share/man /usr/share/locale \
+ /usr/share/info /var/log/* /tmp/*
+
+RUN groupadd -g 1000 bun && useradd -u 1000 -g bun -m -s /bin/sh bun
+WORKDIR /home/bun/app
+USER bun
diff --git a/docker/bitcoin.Dockerfile b/docker/bitcoin.Dockerfile
new file mode 100644
index 00000000..d222d0a5
--- /dev/null
+++ b/docker/bitcoin.Dockerfile
@@ -0,0 +1,11 @@
+FROM ghcr.io/coinos/base AS builder
+ARG VERSION=30.2
+USER root
+RUN wget -qO- https://bitcoincore.org/bin/bitcoin-core-$VERSION/bitcoin-$VERSION-x86_64-linux-gnu.tar.gz | tar -xz --strip-components=1 -C /usr/local
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=builder /usr/local/bin/bitcoind /usr/local/bin/bitcoin-cli /usr/local/bin/
+RUN usermod -l bitcoin bun && usermod -d /home/bitcoin -m bitcoin && groupmod -n bitcoin bun
+USER bitcoin
+ENTRYPOINT ["bitcoind"]
diff --git a/docker/chopsticks.Dockerfile b/docker/chopsticks.Dockerfile
new file mode 100644
index 00000000..c4cc3f27
--- /dev/null
+++ b/docker/chopsticks.Dockerfile
@@ -0,0 +1,6 @@
+FROM ghcr.io/vulpemventures/nigiri-chopsticks AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /app /usr/local/bin/chopsticks
+ENTRYPOINT ["chopsticks"]
diff --git a/docker/electrs.Dockerfile b/docker/electrs.Dockerfile
new file mode 100644
index 00000000..6a16942d
--- /dev/null
+++ b/docker/electrs.Dockerfile
@@ -0,0 +1,6 @@
+FROM ghcr.io/vulpemventures/electrs AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /build/electrs /build/electrs
+ENTRYPOINT ["/build/electrs"]
diff --git a/docker/elements.Dockerfile b/docker/elements.Dockerfile
new file mode 100644
index 00000000..98cba809
--- /dev/null
+++ b/docker/elements.Dockerfile
@@ -0,0 +1,11 @@
+FROM ghcr.io/coinos/base AS builder
+ARG VERSION=23.3.2
+USER root
+RUN wget -qO- https://github.com/ElementsProject/elements/releases/download/elements-$VERSION/elements-$VERSION-x86_64-linux-gnu.tar.gz | tar -xz --strip-components=1 -C /usr/local
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=builder /usr/local/bin/elementsd /usr/local/bin/elements-cli /usr/local/bin/
+RUN usermod -l elements bun && usermod -d /home/elements -m elements && groupmod -n elements bun
+USER elements
+ENTRYPOINT ["elementsd"]
diff --git a/docker/kvrocks.Dockerfile b/docker/kvrocks.Dockerfile
new file mode 100644
index 00000000..c486a1b2
--- /dev/null
+++ b/docker/kvrocks.Dockerfile
@@ -0,0 +1,6 @@
+FROM apache/kvrocks AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /usr/bin/kvrocks /usr/bin/kvrocks
+ENTRYPOINT ["kvrocks"]
diff --git a/docker/lightningd.Dockerfile b/docker/lightningd.Dockerfile
new file mode 100644
index 00000000..e7e3db4d
--- /dev/null
+++ b/docker/lightningd.Dockerfile
@@ -0,0 +1,13 @@
+FROM elementsproject/lightningd:v25.12.1 AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /usr/local/ /usr/local/
+COPY --from=source /usr/bin/bitcoin-cli /usr/bin/
+COPY --from=source /entrypoint.sh /entrypoint.sh
+
+ENV LIGHTNINGD_DATA=/root/.lightning
+ENV LIGHTNINGD_NETWORK=bitcoin
+EXPOSE 9735 9835
+VOLUME ["/root/.lightning"]
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/docker/strfry.Dockerfile b/docker/strfry.Dockerfile
new file mode 100644
index 00000000..dff5448d
--- /dev/null
+++ b/docker/strfry.Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:trixie-slim AS builder
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ git g++ make pkg-config ca-certificates \
+ liblmdb-dev libflatbuffers-dev libsecp256k1-dev \
+ libb2-dev libzstd-dev libssl-dev zlib1g-dev \
+ && rm -rf /var/lib/apt/lists/*
+RUN git clone --depth 1 https://github.com/hoytech/strfry.git /build
+WORKDIR /build
+RUN git submodule update --init
+RUN make setup-golpe && make -j$(nproc)
+RUN strip --strip-unneeded strfry
+
+FROM ghcr.io/coinos/base
+USER root
+WORKDIR /app
+COPY --from=builder /build/strfry /app/strfry
+ENTRYPOINT ["tini", "--"]
+CMD ["/app/strfry", "relay"]
diff --git a/docker/tigerbeetle.Dockerfile b/docker/tigerbeetle.Dockerfile
new file mode 100644
index 00000000..a85ad165
--- /dev/null
+++ b/docker/tigerbeetle.Dockerfile
@@ -0,0 +1,6 @@
+FROM ghcr.io/tigerbeetle/tigerbeetle AS source
+
+FROM ghcr.io/coinos/base
+USER root
+COPY --from=source /tigerbeetle /usr/local/bin/tigerbeetle
+ENTRYPOINT ["tigerbeetle"]