From b3995fc12b4bcc5546302e3b7b68dd48f053dfa4 Mon Sep 17 00:00:00 2001 From: r0r-5chach Date: Wed, 20 Nov 2024 23:52:36 +0000 Subject: [PATCH] v1 --- .gitignore | 2 ++ docker-compose.yml | 30 ++++++++++++++++++++++++++++++ httpd.Dockerfile | 33 +++++++++++++++++++++++++++++++++ seed.Dockerfile | 44 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose.yml create mode 100644 httpd.Dockerfile create mode 100644 seed.Dockerfile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8479e2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +.radicle/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c735995 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,30 @@ +services: + seed: + build: + context: . + dockerfile: seed.Dockerfile + args: + RAD_ALIAS: ${RAD_ALIAS} + RAD_PASSPHRASE: ${RAD_PASSPHRASE} + RAD_VERSION: ${SEED_VERSION} + RAD_ARCH: ${RAD_ARCH} + RAD_OS: ${RAD_OS} + ports: + - ${SEED_PORT}:8776 + volumes: + - ${VOLUME_DIR}:/home/root/.radicle/ + + httpd: + build: + context: . + dockerfile: httpd.Dockerfile + args: + RAD_VERSION: ${DAEMON_VERSION} + RAD_ARCH: ${RAD_ARCH} + RAD_OS: ${RAD_OS} + depends_on: + - seed + ports: + - ${DAEMON_PORT}:8080 + volumes: + - ${VOLUME_DIR}:/home/root/.radicle/ diff --git a/httpd.Dockerfile b/httpd.Dockerfile new file mode 100644 index 0000000..5068699 --- /dev/null +++ b/httpd.Dockerfile @@ -0,0 +1,33 @@ +# Minimal Debian +FROM debian:bookworm-slim + +# Build Variables +ARG RAD_VERSION +ARG RAD_ARCH +ARG RAD_OS + +# Environment Variables +ENV PATH=$PATH:/usr/local/bin +ENV RAD_HOME=/home/root/.radicle +ENV RAD_TARGET=radicle-httpd-$RAD_VERSION-$RAD_ARCH-$RAD_OS.tar.xz + +# System Update +RUN apt update && apt upgrade -y + +# Install Dependants +RUN apt install -y \ + curl \ + ca-certificates \ + git \ + tar \ + xz-utils + +# Install WebView +RUN curl -O -L https://files.radicle.xyz/releases/radicle-httpd/latest/$RAD_TARGET \ + && tar -xvJf $RAD_TARGET --strip-components=1 -C /usr/local + +# Clean Up +RUN apt clean \ + && rm -r /var/lib/apt/lists/* $RAD_TARGET + +CMD ["radicle-httpd"] diff --git a/seed.Dockerfile b/seed.Dockerfile new file mode 100644 index 0000000..8b3b2d7 --- /dev/null +++ b/seed.Dockerfile @@ -0,0 +1,44 @@ +# Minimal Debian +FROM debian:bookworm-slim + +# Build Variables +ARG RAD_VERSION +ARG RAD_ARCH +ARG RAD_OS +ARG RAD_ALIAS +ARG RAD_PASSPHRASE + +# Environment Variables +ENV PATH=$PATH:/usr/local/bin +ENV RAD_HOME=/home/root/.radicle +ENV RAD_TARGET=radicle-$RAD_VERSION-$RAD_ARCH-$RAD_OS.tar.xz +ENV RAD_PASSPHRASE=$RAD_PASSPHRASE +ENV RAD_ALIAS=$RAD_ALIAS + +# Prepare Home +RUN mkdir -p $RAD_HOME + +# System Update +RUN apt update && apt upgrade -y + +# Install Dependants +RUN apt install -y \ + curl \ + ca-certificates \ + git \ + jq \ + tar \ + xz-utils + +# Install Radicle +RUN curl -L -O https://files.radicle.xyz/releases/latest/$RAD_TARGET \ + && tar -xvJf $RAD_TARGET --strip-components=1 -C /usr/local + +# Clean Up +RUN apt clean \ + && rm -r /var/lib/apt/lists/* $RAD_TARGET + +#Set Default Policy +RUN jq '.node.seedPolicy.default = "block"' + +ENTRYPOINT ["sh", "-c","rad auth --alias $RAD_ALIAS && rad node start --foreground"]