Compare commits
15 Commits
5b42ac9288
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d405b2dd28 | |||
| a74f81c399 | |||
| 9c7f2ebfbc | |||
| 8c067f59ff | |||
| 76bf7c7498 | |||
| b079a26969 | |||
| c2a6c66dad | |||
| 5f13192006 | |||
| a3739784b5 | |||
| b5c5ed1b12 | |||
| 8304f68e4e | |||
| 5b7dbe1157 | |||
| a760df23a7 | |||
| c99e9b07c2 | |||
| b0a6f904c9 |
23
README.md
23
README.md
@@ -18,7 +18,7 @@ Collection of Dockerfiles created to build & pack various tools.
|
|||||||
|
|
||||||
# 1. How to use
|
# 1. How to use
|
||||||
|
|
||||||
Run the build-script `script/build.sh` with the path to the tool you want to build.
|
Run the build-script `scripts/build.sh` with the path to the tool you want to build.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@@ -30,11 +30,16 @@ You can add more tags or change the existing tag-naming-scheme using the environ
|
|||||||
|
|
||||||
## 1.1. CLI
|
## 1.1. CLI
|
||||||
|
|
||||||
`script/build.sh <toolPath> [extra-args for docker build ..]`
|
`scripts/build.sh <toolPath> [extra-args for docker build ..]`
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
### 1.1.1. Environment-Variables
|
### 1.1.1. Example
|
||||||
|
`scripts/build.sh tools/bandwhich/`
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
### 1.1.2. Environment-Variables
|
||||||
|
|
||||||
Variable | Description | Default
|
Variable | Description | Default
|
||||||
-|-|-
|
-|-|-
|
||||||
@@ -57,9 +62,17 @@ https://github.com/imsnif/bandwhich
|
|||||||
|
|
||||||
### 2.1.2. Example
|
### 2.1.2. Example
|
||||||
```
|
```
|
||||||
docker run -it --net host bandwhich -i eth0
|
docker run --rm -v /proc:/proc ghcr.io/ruakij/dockerbuilds/bandwhich:latest -n -i eth0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||
|
||||||
|
-|-
|
||||||
|
`--rm` * | Removes the container when its stopped
|
||||||
|
`-v /proc:/proc` * | Makes Process identification from host-processes possible
|
||||||
|
`-n` * | Dont resolve IPs
|
||||||
|
`-i eth0` * | Only check on eth0 interface
|
||||||
|
|
||||||
|
*\* is Optional*
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
## 2.2. auto-editor
|
## 2.2. auto-editor
|
||||||
@@ -96,5 +109,5 @@ https://github.com/matrix-org/rust-synapse-compress-state
|
|||||||
|
|
||||||
### 2.3.2. Example
|
### 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
|
docker run --net container:synapse ghcr.io/ruakij/dockerbuilds/synapse-compress-state:latest synapse_auto_compressor -p postgresql://synapse:synapse@127.0.0.1/synapse -c 500 -n 100
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ ORIGINALDIR=$PWD
|
|||||||
# Get args without path
|
# Get args without path
|
||||||
EXTRA_ARGS="${@:2}"
|
EXTRA_ARGS="${@:2}"
|
||||||
|
|
||||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
|
|
||||||
|
|
||||||
|
|
||||||
# Call prepare
|
# Call prepare
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ PLATFORM=${PLATFORM:-"linux/amd64,linux/arm64/v8,linux/arm/v7"}
|
|||||||
|
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform $PLATFORM \
|
--platform $PLATFORM \
|
||||||
--tag $TAG:latest \
|
$TAGS_ARG \
|
||||||
--tag "${TAG}:${VERSION}" \
|
|
||||||
$EXTRA_ARGS \
|
$EXTRA_ARGS \
|
||||||
$WORKDIR
|
$WORKDIR
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
docker build \
|
docker build \
|
||||||
--tag $TAG:latest \
|
$TAGS_ARG \
|
||||||
--tag $TAG:$VERSION \
|
|
||||||
$EXTRA_ARGS \
|
$EXTRA_ARGS \
|
||||||
"$WORKDIR"
|
"$WORKDIR"
|
||||||
|
|||||||
@@ -35,21 +35,45 @@ fi
|
|||||||
if [ "$GIT_CHECKOUT" != "" ]; then
|
if [ "$GIT_CHECKOUT" != "" ]; then
|
||||||
# Handle special directives
|
# Handle special directives
|
||||||
if [ "$GIT_CHECKOUT" = "latest-tag" ]; then
|
if [ "$GIT_CHECKOUT" = "latest-tag" ]; then
|
||||||
GIT_CHECKOUT=$(git describe --tags `git rev-list --tags --max-count=1`) # Get latest tag
|
GIT_CHECKOUT=$(git describe --tags $(git rev-list --tags --max-count=1)) # Get latest tag
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git checkout $GIT_CHECKOUT
|
git checkout $GIT_CHECKOUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# --- VERSION ---
|
# --- VERSION ---
|
||||||
|
# When not set
|
||||||
|
if [ "$GIT_CHECKOUT" == "" ]; then
|
||||||
# Get current version to build
|
# Get current version to build
|
||||||
VERSION=$(git describe --tags --long)
|
VERSION=$(git describe --tags --long)
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
VERSION=$(git rev-parse HEAD)
|
VERSION=$(git rev-parse HEAD)
|
||||||
fi
|
fi
|
||||||
export VERSION
|
export VERSION
|
||||||
|
fi
|
||||||
printf "Version: ${VERSION}\n"
|
printf "Version: ${VERSION}\n"
|
||||||
|
|
||||||
TAG=${TAG:-"${TAG_PREFIX}${NAME}"}
|
# --- TAGS ---
|
||||||
printf "> ${TAG}\n"
|
IFS='-.' read -ra ADDR <<<"$VERSION"
|
||||||
|
|
||||||
|
TAG_VERS=("latest")
|
||||||
|
currentTag="${ADDR[0]}"
|
||||||
|
TAG_VERS+=("$currentTag")
|
||||||
|
|
||||||
|
for i in $(seq 1 $((${#ADDR[@]} - 1))); do
|
||||||
|
delimiter="."
|
||||||
|
if [[ $VERSION == *"${currentTag}-${ADDR[$i]}"* ]]; then
|
||||||
|
delimiter="-"
|
||||||
|
fi
|
||||||
|
|
||||||
|
currentTag="${currentTag}${delimiter}${ADDR[$i]}"
|
||||||
|
TAG_VERS+=("$currentTag")
|
||||||
|
done
|
||||||
|
|
||||||
|
# Generate TAG_VERS_ARG
|
||||||
|
printf "TAG_VERS:\n"
|
||||||
|
for tag_ver in "${TAG_VERS[@]}"; do
|
||||||
|
TAG="${TAGPREFIX}${NAME}:${tag_ver}"
|
||||||
|
TAGS_ARG="$TAGS_ARG --tag $TAG"
|
||||||
|
echo "- $TAG"
|
||||||
|
done
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
# ---- Base ----
|
# ---- Base ----
|
||||||
FROM alpine:3 AS base
|
FROM debian:stable-slim AS base
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|
||||||
# ---- Build ----
|
# ---- Build ----
|
||||||
FROM rust:1.65.0-slim AS build
|
FROM rust:1.79.0-slim AS build
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
# Install packages
|
|
||||||
RUN apt update && apt install -y make
|
|
||||||
# Copy sources
|
# Copy sources
|
||||||
ADD .build/repository/ .
|
ADD .build/repository/ .
|
||||||
# Update dependencies and Compile
|
# Compile
|
||||||
RUN cargo update && TARGET="release" make
|
RUN cargo build --release
|
||||||
|
|
||||||
|
|
||||||
# ---- Release ----
|
# ---- Release ----
|
||||||
|
|||||||
@@ -13,14 +13,20 @@ RUN apk add python3 musl-dev pkgconfig openssl-dev make
|
|||||||
ENV RUSTFLAGS="-C target-feature=-crt-static"
|
ENV RUSTFLAGS="-C target-feature=-crt-static"
|
||||||
# Copy sources
|
# Copy sources
|
||||||
ADD .build/repository/ .
|
ADD .build/repository/ .
|
||||||
|
|
||||||
|
FROM build AS build-synapse_compress-state
|
||||||
# Update dependencies and Compile
|
# Update dependencies and Compile
|
||||||
RUN cargo update && cargo build --release
|
RUN cargo update && cargo build --release
|
||||||
|
|
||||||
|
FROM build AS build-synapse_auto_compressor
|
||||||
|
# Update dependencies and Compile
|
||||||
|
RUN cd synapse_auto_compressor/ && cargo update && cargo build --release
|
||||||
|
|
||||||
|
|
||||||
# ---- Release ----
|
# ---- Release ----
|
||||||
FROM base AS release
|
FROM base AS release
|
||||||
# Copy build-target
|
## Copy build-target
|
||||||
COPY --from=build /build/target/release/synapse_compress_state .
|
COPY --from=build-synapse_compress-state /build/target/release/synapse_compress_state .
|
||||||
COPY --from=build /build/target/release/synapse_auto_compressor .
|
COPY --from=build-synapse_auto_compressor /build/target/release/synapse_auto_compressor .
|
||||||
|
|
||||||
ENTRYPOINT ["./synapse_compress_state"]
|
ENTRYPOINT ["./synapse_auto_compressor"]
|
||||||
|
|||||||
Reference in New Issue
Block a user