mirror of
https://github.com/onsonr/hway.git
synced 2025-03-10 04:57:08 +00:00
refactor: improve devbox configuration and remove outdated files
This commit is contained in:
parent
2dc0547e31
commit
6003457fb8
4
.github/deploy/README.md
vendored
4
.github/deploy/README.md
vendored
@ -1,4 +0,0 @@
|
||||
# `matrix`
|
||||
|
||||
Sonr Communication infrastructure which allows for Sonr Blockchain
|
||||
Identities to have a secure and private communication channel.
|
3
.github/deploy/devbox.json
vendored
3
.github/deploy/devbox.json
vendored
@ -5,8 +5,7 @@
|
||||
"PATH": "$HOME/.cargo/bin:$HOME/go/bin:$HOME/.local/bin:$HOME/.bun/bin:$PATH",
|
||||
"GITHUB_TOKEN": "$GITHUB_TOKEN",
|
||||
"GOPATH": "$HOME/go",
|
||||
"GOBIN": "$GOPATH/bin",
|
||||
"GHQ_ROOT": "$CLONEDIR"
|
||||
"GOBIN": "$GOPATH/bin"
|
||||
},
|
||||
"shell": {
|
||||
"init_hook": [],
|
||||
|
24
.github/deploy/process-compose.yaml
vendored
24
.github/deploy/process-compose.yaml
vendored
@ -1,28 +1,6 @@
|
||||
version: "0.5"
|
||||
|
||||
processes:
|
||||
Tigerbeetle:
|
||||
namespace: sonr-gateway
|
||||
command: "tigerbeetle"
|
||||
ready_log_line: "Tigerbeetle is ready"
|
||||
|
||||
Postgres:
|
||||
namespace: testnet
|
||||
command: "postgres"
|
||||
ready_log_line: "database system is ready to accept connections"
|
||||
|
||||
Hway:
|
||||
namespace: sonr-gateway
|
||||
namespace: hway-gateway
|
||||
command: "hway"
|
||||
depends_on:
|
||||
IPFS:
|
||||
condition: process_log_ready
|
||||
Sonr:
|
||||
condition: process_started
|
||||
|
||||
Cloudflare:
|
||||
namespace: sonr-gateway
|
||||
command: "cloudflared tunnel route"
|
||||
depends_on:
|
||||
Hway:
|
||||
condition: process_started
|
||||
|
57
docker/hooks.Dockerfile
Normal file
57
docker/hooks.Dockerfile
Normal file
@ -0,0 +1,57 @@
|
||||
# Stage 0: Build the thing
|
||||
# Need debian based image to build the native rust module
|
||||
# as musl doesn't support cdylib
|
||||
FROM node:20-slim AS builder
|
||||
|
||||
ARG GIT_SOURCE_REPO="https://github.com/matrix-org/matrix-hookshot.git"
|
||||
ARG GIT_SOURCE_BRANCH="main"
|
||||
|
||||
# Needed in order to build rust FFI bindings.
|
||||
RUN apt-get update && apt-get install -y build-essential cmake curl pkg-config pkg-config libssl-dev git
|
||||
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --profile minimal
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
# arm64 builds consume a lot of memory if `CARGO_NET_GIT_FETCH_WITH_CLI` is not
|
||||
# set to true, so we expose it as a build-arg.
|
||||
ARG CARGO_NET_GIT_FETCH_WITH_CLI=false
|
||||
ENV CARGO_NET_GIT_FETCH_WITH_CLI=$CARGO_NET_GIT_FETCH_WITH_CLI
|
||||
|
||||
RUN git clone -b $GIT_SOURCE_BRANCH $GIT_SOURCE_REPO /src
|
||||
WORKDIR /src
|
||||
RUN yarn config set yarn-offline-mirror /cache/yarn
|
||||
RUN yarn --ignore-scripts --pure-lockfile --network-timeout 600000
|
||||
|
||||
# Workaround: Need to install esbuild manually https://github.com/evanw/esbuild/issues/462#issuecomment-771328459
|
||||
RUN node node_modules/esbuild/install.js
|
||||
RUN yarn build
|
||||
|
||||
|
||||
# Stage 1: The actual container
|
||||
FROM node:20-slim
|
||||
|
||||
WORKDIR /bin/matrix-hookshot
|
||||
|
||||
RUN apt-get update && apt-get install -y openssl ca-certificates
|
||||
|
||||
COPY --from=builder /src/yarn.lock /src/package.json ./
|
||||
COPY --from=builder /cache/yarn /cache/yarn
|
||||
RUN yarn config set yarn-offline-mirror /cache/yarn
|
||||
|
||||
RUN yarn --network-timeout 600000 --production --pure-lockfile && yarn cache clean
|
||||
|
||||
COPY --from=builder /src/lib ./
|
||||
COPY --from=builder /src/public ./public
|
||||
COPY --from=builder /src/assets ./assets
|
||||
|
||||
COPY apps/hooks.sonr.chat/registration.yml /data/registration.yml
|
||||
COPY apps/hooks.sonr.chat/passkey.pem /data/passkey.pem
|
||||
COPY config/hookshot.yml /data/config.yml
|
||||
|
||||
ENV NODE_ENV="production"
|
||||
|
||||
VOLUME /data
|
||||
EXPOSE 9993
|
||||
EXPOSE 7775
|
||||
|
||||
CMD ["node", "/bin/matrix-hookshot/App/BridgeApp.js", "/data/config.yml", "/data/registration.yml"]
|
@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
# For goreleaser
|
||||
FROM scratch
|
||||
ENTRYPOINT ["/hway"]
|
||||
|
24
docker/server.Dockerfile
Normal file
24
docker/server.Dockerfile
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
# Use the dendrite-monolith image from matrixdotorg
|
||||
FROM matrixdotorg/synapse:latest
|
||||
|
||||
RUN mkdir -p /data
|
||||
|
||||
# Copy App Services
|
||||
COPY apps/hooks.sonr.chat/registration.yml /data/svc/hookshot.yml
|
||||
|
||||
# Copy the hookshot passkey
|
||||
COPY apps/sonr.chat/server.crt /data/server.crt
|
||||
COPY apps/sonr.chat/server.key /data/server.key
|
||||
COPY apps/sonr.chat/signing.key /data/sonr.chat.signing.key
|
||||
|
||||
# Copy the synapse configuration
|
||||
COPY config/synapse.yaml /data/homeserver.yaml
|
||||
COPY config/log.config /data/sonr.chat.log.config
|
||||
|
||||
# Expose the necessary ports
|
||||
EXPOSE 8008
|
||||
EXPOSE 8448
|
||||
|
||||
# Set volumes for media, jetstream, and search index
|
||||
ENTRYPOINT ["./start.py"]
|
30
docker/sync.Dockerfile
Normal file
30
docker/sync.Dockerfile
Normal file
@ -0,0 +1,30 @@
|
||||
FROM docker.io/golang:1.20-alpine AS base
|
||||
|
||||
WORKDIR /build
|
||||
RUN mkdir -p /out
|
||||
RUN apk --update --no-cache add build-base git
|
||||
ARG GIT_SOURCE_REPO="https://github.com/matrix-org/sliding-sync.git"
|
||||
ARG GIT_SOURCE_BRANCH="main"
|
||||
|
||||
RUN git clone ${GIT_SOURCE_REPO} .
|
||||
|
||||
ARG BINARYNAME=syncv3
|
||||
RUN go build -o /out/syncv3 "./cmd/$BINARYNAME"
|
||||
|
||||
FROM alpine:3.17
|
||||
|
||||
RUN apk --update --no-cache add curl
|
||||
COPY --from=base /out/* /usr/bin/
|
||||
|
||||
ENV SYNCV3_SERVER="https://sonr.chat"
|
||||
ENV SYNCV3_DB="postgresql://neondb_owner:4zHmfZpEB6wQ@ep-square-wildflower-a52z3tuw.us-east-2.aws.neon.tech/neondb?sslmode=require"
|
||||
ENV SYNCV3_SECRET="d1caeb5d86bee467e51a8650aa44e21ad68103d9495872015fbd36c0b9de4957"
|
||||
ENV SYNCV3_BINDADDR="0.0.0.0:8008"
|
||||
|
||||
EXPOSE 8008
|
||||
|
||||
WORKDIR /usr/bin
|
||||
# It would be nice if the binary we exec was called $BINARYNAME here, but build args
|
||||
# aren't expanded in ENTRYPOINT directives. Instead, we always call the output binary
|
||||
# "syncv3". (See https://github.com/moby/moby/issues/18492)
|
||||
ENTRYPOINT /usr/bin/syncv3
|
39
docker/web.Dockerfile
Normal file
39
docker/web.Dockerfile
Normal file
@ -0,0 +1,39 @@
|
||||
# Builder
|
||||
FROM node:20-bullseye as builder
|
||||
|
||||
# Support custom branches of the react-sdk and js-sdk. This also helps us build
|
||||
# images of element-web develop.
|
||||
ARG USE_CUSTOM_SDKS=false
|
||||
ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
|
||||
ARG REACT_SDK_BRANCH="master"
|
||||
ARG JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git"
|
||||
ARG JS_SDK_BRANCH="master"
|
||||
ARG GIT_SOURCE_REPO="https://github.com/element-hq/element-web.git"
|
||||
ARG GIT_SOURCE_BRANCH="master"
|
||||
|
||||
RUN apt-get update && apt-get install -y git dos2unix
|
||||
RUN git clone ${GIT_SOURCE_REPO} src
|
||||
WORKDIR /src
|
||||
RUN git checkout ${GIT_SOURCE_BRANCH}
|
||||
|
||||
RUN dos2unix /src/scripts/docker-link-repos.sh && bash /src/scripts/docker-link-repos.sh
|
||||
RUN yarn --network-timeout=200000 install
|
||||
|
||||
RUN dos2unix /src/scripts/docker-package.sh && bash /src/scripts/docker-package.sh
|
||||
|
||||
# Copy the config now so that we don't create another layer in the app image
|
||||
COPY config/element.json /src/webapp/config.json
|
||||
|
||||
# App
|
||||
FROM nginx:alpine-slim
|
||||
|
||||
COPY --from=builder /src/webapp /app
|
||||
|
||||
# Override default nginx config
|
||||
COPY config/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
RUN rm -rf /usr/share/nginx/html \
|
||||
&& ln -s /app /usr/share/nginx/html
|
||||
|
||||
# Run nginx
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
Loading…
x
Reference in New Issue
Block a user