Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
Dockerize services
Adam Szkoda committed 3 years ago
commit 4abb24fecaaf73cd5c5082a4e3259748647a61da
parent aa02c52a2f8df67e8f069319bc56d9080eff0711
4 files changed +104 -0
added .dockerignore
@@ -0,0 +1 @@
+
target
added docker-compose.yml
@@ -0,0 +1,59 @@
+
version: "3.7"
+
services:
+
  radicle-node:
+
    image: gcr.io/radicle-services/radicle-node:${RADICLE_IMAGE_TAG:-latest}
+
    build:
+
      dockerfile: ./radicle-node/Dockerfile
+
      context: .
+
    environment:
+
      RUST_LOG: debug
+
    init: true
+
    container_name: radicle-node
+
    restart: unless-stopped
+
    networks:
+
      - radicle-services
+
    deploy:
+
      resources:
+
        limits:
+
          memory: 6gb
+
  radicle-httpd:
+
    image: gcr.io/radicle-services/radicle-httpd:${RADICLE_IMAGE_TAG:-latest}
+
    build:
+
      dockerfile: ./radicle-httpd/Dockerfile
+
      context: .
+
    environment:
+
      RUST_LOG: debug
+
    init: true
+
    container_name: radicle-httpd
+
    restart: unless-stopped
+
    networks:
+
      - radicle-services
+
    deploy:
+
      resources:
+
        limits:
+
          memory: 6gb
+
  caddy:
+
    image: caddy:2.4.5
+
    entrypoint:
+
      - sh
+
      - -euc
+
      - |
+
        cat <<EOF >/etc/caddy/Caddyfile
+
        {$RADICLE_DOMAIN} {
+
            reverse_proxy radicle-httpd:8778
+
        }
+
        EOF
+
        caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
+
    ports:
+
      - 80:80
+
      - 443:443
+
    environment:
+
      RADICLE_DOMAIN: $RADICLE_DOMAIN
+
    container_name: caddy
+
    restart: unless-stopped
+
    networks:
+
      - radicle-services
+

+
networks:
+
  radicle-services:
+
    name: radicle-services
added radicle-httpd/Dockerfile
@@ -0,0 +1,22 @@
+
# Build
+
FROM rust:1.65.0-slim@sha256:27349440d16ac15f52e8cae6181999a1b2fc05272d612a358d0e53078fcef88e as build
+

+
RUN apt-get update && apt-get install -y pkg-config libssl-dev git cmake
+

+
COPY . /app
+
WORKDIR /app/radicle-httpd
+

+
RUN set -eux; \
+
    cargo install --locked --path .; \
+
    objcopy --compress-debug-sections /usr/local/cargo/bin/radicle-httpd /usr/local/cargo/bin/radicle-httpd.compressed
+

+
# Run
+
FROM debian:bullseye-slim@sha256:25f10b4f1ded5341a3ca0a30290ff3cd5639415f0c5a2222d5e7d5dd72952aa1
+

+
RUN echo deb http://deb.debian.org/debian bullseye-backports main contrib non-free >/etc/apt/sources.list.d/backports.list
+
RUN apt-get update && apt-get install -y libssl1.1 && apt -t bullseye-backports install --yes git && rm -rf /var/lib/apt/lists/*
+
COPY --from=build /usr/local/cargo/bin/radicle-httpd.compressed /usr/local/bin/radicle-httpd
+

+
WORKDIR /app
+

+
ENTRYPOINT ["/usr/local/bin/radicle-httpd"]
added radicle-node/Dockerfile
@@ -0,0 +1,22 @@
+
# Build
+
FROM rust:1.65.0-slim@sha256:27349440d16ac15f52e8cae6181999a1b2fc05272d612a358d0e53078fcef88e as build
+

+
RUN apt-get update && apt-get install -y pkg-config libssl-dev git cmake
+

+
COPY . /app
+
WORKDIR /app/radicle-node
+

+
RUN set -eux; \
+
    cargo install --locked --path .; \
+
    objcopy --compress-debug-sections /usr/local/cargo/bin/radicle-node /usr/local/cargo/bin/radicle-node.compressed
+

+
# Run
+
FROM debian:bullseye-slim@sha256:25f10b4f1ded5341a3ca0a30290ff3cd5639415f0c5a2222d5e7d5dd72952aa1
+

+
RUN echo deb http://deb.debian.org/debian bullseye-backports main contrib non-free >/etc/apt/sources.list.d/backports.list
+
RUN apt-get update && apt-get install -y libssl1.1 && apt -t bullseye-backports install --yes git && rm -rf /var/lib/apt/lists/*
+
COPY --from=build /usr/local/cargo/bin/radicle-node.compressed /usr/local/bin/radicle-node
+

+
WORKDIR /app
+

+
ENTRYPOINT ["/usr/local/bin/radicle-node"]