diff --git a/README.md b/README.md index 61a05a2..06b6a20 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Collection of Dockerfiles created to build & pack various tools. - [2. Tools](#2-tools) - [2.1. Bandwhich](#21-bandwhich) - [2.2. auto-editor](#22-auto-editor) + - [2.3. synapse-compress-state](#23-synapse-compress-state)
@@ -80,3 +81,20 @@ docker run -v /home/ruakij/Videos:/video auto-build --no-open --silent-speed 8 - ### 2.2.3. Comment TODO: Unfortunately the tool requires ffmpeg which is a huge tool and blows up the size of the image. I have to find a way to use a minimized version of it. + +
+ +## 2.3. synapse-compress-state +Includes synapse_auto_compressor + +### 2.3.1. Source +>This workspace contains experimental tools that attempt to reduce the number of rows in the state_groups_state table inside of a Synapse Postgresql database. + +https://github.com/matrix-org/rust-synapse-compress-state + +
+ +### 2.3.2. Example +``` +docker run --net container:synapse synapse-compress-state synapse_auto_compressor -p postgresql://synapse:synapse@127.0.0.1/synapse -c 500 -n 100 +``` diff --git a/tools/synapse-compress-state/Dockerfile b/tools/synapse-compress-state/Dockerfile new file mode 100644 index 0000000..583b7ba --- /dev/null +++ b/tools/synapse-compress-state/Dockerfile @@ -0,0 +1,26 @@ +# ---- Base ---- +FROM alpine AS base +WORKDIR /app +# Install dependencies +RUN apk add --no-cache libgcc libssl1.1 libc6-compat + +# ---- Build ---- +FROM rust:alpine3.16 AS build +WORKDIR /build +# Install packages +RUN apk add python3 musl-dev pkgconfig openssl-dev make +# Set build-flags +ENV RUSTFLAGS="-C target-feature=-crt-static" +# Copy sources +ADD .build/repository/ . +# Update dependencies and Compile +RUN cargo update && cargo build --release + + +# ---- Release ---- +FROM base AS release +# Copy build-target +COPY --from=build /build/target/release/synapse_compress_state . +COPY --from=build /build/target/release/synapse_auto_compressor . + +ENTRYPOINT ["./synapse_compress_state"] diff --git a/tools/synapse-compress-state/info.env b/tools/synapse-compress-state/info.env new file mode 100644 index 0000000..e15b00c --- /dev/null +++ b/tools/synapse-compress-state/info.env @@ -0,0 +1 @@ +GIT_REPOSITORY=https://github.com/matrix-org/rust-synapse-compress-state