Start version control

This commit is contained in:
Remi Rampin 2024-05-28 21:30:15 -04:00
commit 321147cac4
13 changed files with 289 additions and 0 deletions

17
emscripten-rust Normal file
View File

@ -0,0 +1,17 @@
FROM trzeci/emscripten:sdk-tag-1.38.41-64bit
# Install Rust
ENV RUST_VERSION=1.38.0
RUN curl -Lo rustup.sh https://sh.rustup.rs && \
sh rustup.sh --default-toolchain $RUST_VERSION --no-modify-path -y && \
rm rustup.sh
ENV PATH="$PATH:/root/.cargo/bin"
# Add emscripten target
RUN rustup target add asmjs-unknown-emscripten --toolchain $RUST_VERSION && \
rustup target add wasm32-unknown-emscripten --toolchain $RUST_VERSION
# Reset entrypoint (avoid emscripten overwriting PATH)
ENTRYPOINT []
CMD ["cargo", "build", "--release", "--target=asmjs-unknown-emscripten"]

7
emscripten-rust-sdl Normal file
View File

@ -0,0 +1,7 @@
FROM remram/emscripten-rust
# Install libsdl
RUN apt-get update && apt-get install -y libsdl2-dev && rm -rf /var/lib/apt/lists/*
# Build port
RUN echo 'int main() {}' >/helloworld.c && emcc -s USE_SDL=2 -o /helloworld /helloworld.c && rm /helloworld.c /helloworld

18
gnunet-0.14.0 Normal file
View File

@ -0,0 +1,18 @@
FROM ubuntu:20.04
RUN apt-get update -yy && \
DEBIAN_FRONTEND=noninteractive apt-get install -yy autoconf automake gettext libgnutls28-dev make libtool libgcrypt20-dev libidn2-dev libmicrohttpd-dev libunistring-dev libgmp3-dev libcurl4-gnutls-dev libsodium-dev zlib1g-dev pkg-config libsqlite3-dev libjansson-dev && \
apt-get clean -yy
RUN useradd --system --home-dir /var/lib/gnunet --create-home gnunet && \
groupadd gnunetdns
ENV GNUNET_VERSION 0.14.0
RUN cd /usr/src && curl -LO https://ftpmirror.gnu.org/gnu/gnunet/gnunet-$GNUNET_VERSION.tar.gz && tar zxf gnunet-$GNUNET_VERSION.tar.gz && rm gnunet-$GNUNET_VERSION.tar.gz
RUN cd /usr/src/gnunet-$GNUNET_VERSION && \
./configure --disable-documentation --prefix=/usr --with-libidn2 --with-microhttpd --with-sqlite --with-zlib && \
make -j6 && \
make install && \
cp /usr/src/gnunet-$GNUNET_VERSION/src/gns/nss/.libs/* /usr/lib/x86_64-linux-gnu/
RUN cp /etc/nsswitch.conf /tmp/nsswitch.conf && sed '/^hosts:/s/ files / files gns [NOTFOUND=return] /' </tmp/nsswitch.conf >/etc/nsswitch.conf && rm /tmp/nsswitch.conf

32
grafana.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/sh
set -eu
if [ "$#" != 1 ]; then
printf 'Usage: grafana.sh <version>\n' >&2
exit 2
fi
VERSION="$1"
if [ -d grafana ]; then
cd grafana
git fetch -p
git checkout "v${VERSION}"
cd packaging/docker/custom/
else
git clone https://github.com/grafana/grafana.git --branch "v${VERSION}"
cd grafana
cd packaging/docker/custom/
fi
docker buildx build --pull \
. \
--build-arg GRAFANA_VERSION="${VERSION}" \
--build-arg GF_INSTALL_PLUGINS=frser-sqlite-datasource \
--push --tag "quay.io/remram44/grafana:${VERSION}-sqlite"
docker buildx build --pull \
. \
--build-arg GRAFANA_VERSION="${VERSION}" \
--build-arg GF_INSTALL_PLUGINS=frser-sqlite-datasource,grafana-clickhouse-datasource \
--push --tag "quay.io/remram44/grafana:${VERSION}-sqlite-clickhouse"

4
list-build-files Normal file
View File

@ -0,0 +1,4 @@
FROM ubuntu:20.04
COPY . /context
RUN ls -RA /context

19
networking Normal file
View File

@ -0,0 +1,19 @@
#docker buildx build --pull - --platform linux/amd64,linux/arm/v7,linux/arm64,linux/ppc64le --push --tag quay.io/remram44/networking < networking
FROM ubuntu:22.04
RUN apt-get update && \
apt-get install -yy iproute2 traceroute iputils-ping iputils-tracepath netcat nmap bind9-dnsutils curl openssh-client zip unzip && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ARG TARGETPLATFORM
RUN if [ $TARGETPLATFORM = "linux/amd64" ]; then curl -Lo /tmp/rclone.zip https://downloads.rclone.org/v1.65.0/rclone-v1.65.0-linux-amd64.zip ; \
elif [ $TARGETPLATFORM = "linux/arm/v7" ]; then curl -Lo /tmp/rclone.zip https://downloads.rclone.org/v1.65.0/rclone-v1.65.0-linux-arm-v7.zip ; \
elif [ $TARGETPLATFORM = "linux/arm64" ]; then curl -Lo /tmp/rclone.zip https://downloads.rclone.org/v1.65.0/rclone-v1.65.0-linux-arm64.zip ; \
elif [ $TARGETPLATFORM = "linux/ppc64le" ]; then curl -Lo /tmp/rclone.zip https://downloads.rclone.org/v1.65.0/rclone-v1.65.0-linux-mipsle.zip ; \
else echo "no URL for $TARGETPLATFORM"; exit 1; fi && \
(cd /tmp && unzip rclone.zip) && \
rm /tmp/rclone.zip && \
mv /tmp/rclone*/rclone /usr/local/bin/rclone && \
rm -rf /tmp/rclone*

21
nginx-rtmp/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM ubuntu:19.10
ARG NGINX_VERSION=1.17.9
ARG NGINX_RTMP_VERSION=1.2.1
RUN apt-get update && \
apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev curl
RUN cd /usr/src && \
curl -LO http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar zxf nginx-${NGINX_VERSION}.tar.gz && \
rm nginx-${NGINX_VERSION}.tar.gz && \
curl -Lo nginx-rtmp-module.tar.gz https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}.tar.gz && \
tar zxf nginx-rtmp-module.tar.gz && \
rm nginx-rtmp-module.tar.gz && \
cd nginx-${NGINX_VERSION} && \
./configure --with-http_ssl_module --with-cc-opt="-Wimplicit-fallthrough=0" --add-module=../nginx-rtmp-module-${NGINX_RTMP_VERSION}
RUN cd /usr/src/nginx-${NGINX_VERSION} && make && make install
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
ENTRYPOINT ["/usr/local/nginx/sbin/nginx"]

82
nginx-rtmp/nginx.conf Normal file
View File

@ -0,0 +1,82 @@
daemon off;
error_log /dev/stdout info;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /dash {
types {
application/dash+xml mpd;
video/mp4 m4v;
audio/mp4 m4a;
}
add_header Access-Control-Allow-Origin *;
add_header Cache-Control no-cache;
root /;
}
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Access-Control-Allow-Origin *;
add_header Cache-Control no-cache;
root /;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
rtmp {
access_log /dev/stdout;
server {
listen 1935;
chunk_size 4096;
application live {
live on;
dash on;
dash_path /dash;
dash_fragment 2s;
dash_playlist_length 30s;
hls on;
hls_path /hls;
hls_fragment 2s;
hls_playlist_length 30s;
}
}
}

17
restic Normal file
View File

@ -0,0 +1,17 @@
FROM ubuntu:22.04
RUN apt-get update -yy && \
apt-get install -yy curl ca-certificates bzip2 sqlite3 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ARG RESTIC_VERSION=0.16.4
ARG TARGETPLATFORM
RUN if [ ${TARGETPLATFORM} = "linux/amd64" ]; then SUFFIX=linux_amd64; HASH=3d4d43c169a9e28ea76303b1e8b810f0dcede7478555fdaa8959971ad499e324; \
elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then SUFFIX=linux_arm64; HASH=9d2f44538ea0c6309426cb290d3a6b8b0b85de5de7f1496ff40c843b36bf8a8d; \
else echo "no URL for $(TARGETPLATFORM)"; exit 1; fi && \
curl -Lo /tmp/restic.bz2 https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_${SUFFIX}.bz2 && \
printf "${HASH} /tmp/restic.bz2\\n" | sha256sum -c && \
bunzip2 < /tmp/restic.bz2 > /opt/restic && \
chmod +x /opt/restic

17
restic-psql Normal file
View File

@ -0,0 +1,17 @@
FROM postgres:16
RUN apt-get update -yy && \
apt-get install -yy curl ca-certificates bzip2 sqlite3 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ARG RESTIC_VERSION=0.16.4
ARG TARGETPLATFORM
RUN if [ ${TARGETPLATFORM} = "linux/amd64" ]; then SUFFIX=linux_amd64; HASH=3d4d43c169a9e28ea76303b1e8b810f0dcede7478555fdaa8959971ad499e324; \
elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then SUFFIX=linux_arm64; HASH=9d2f44538ea0c6309426cb290d3a6b8b0b85de5de7f1496ff40c843b36bf8a8d; \
else echo "no URL for $(TARGETPLATFORM)"; exit 1; fi && \
curl -Lo /tmp/restic.bz2 https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_${SUFFIX}.bz2 && \
printf "${HASH} /tmp/restic.bz2\\n" | sha256sum -c && \
bunzip2 < /tmp/restic.bz2 > /opt/restic && \
chmod +x /opt/restic

18
restic-server Normal file
View File

@ -0,0 +1,18 @@
FROM python:3.12 AS client
RUN curl -fLo /restic.bz2 https://github.com/restic/restic/releases/download/v0.16.4/restic_0.16.4_linux_amd64.bz2 && \
printf "3d4d43c169a9e28ea76303b1e8b810f0dcede7478555fdaa8959971ad499e324 /restic.bz2\\n" | sha256sum -c && \
bunzip2 /restic.bz2 && \
chmod +x /restic
FROM restic/rest-server:0.12.1
ENV TINI_VERSION v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-muslc-amd64 /tini
RUN chmod +x /tini
COPY --from=client /restic /usr/local/bin
ENTRYPOINT ["/tini", "--"]
CMD ["/entrypoint.sh"]

16
rust Normal file
View File

@ -0,0 +1,16 @@
FROM ubuntu:18.04
RUN \
apt-get update && \
apt-get install -yy curl gcc git make && \
rm -rf /var/lib/apt/lists/*
RUN curl -Lo rustup.sh https://sh.rustup.rs && \
sh rustup.sh --default-toolchain nightly --no-modify-path -y && \
rm rustup.sh
ENV PATH=$PATH:/bin:/root/.cargo/bin
WORKDIR /src
RUN rustup target add wasm32-unknown-unknown
CMD ["cargo", "build"]

21
rust-cargo-web Normal file
View File

@ -0,0 +1,21 @@
FROM rust:1.44.0
# Install clang, nodejs
RUN apt-get update && \
apt-get install -y libclang-dev nodejs && \
rm -rf /var/lib/apt/lists/*
# Install toolchains
RUN rustup target add asmjs-unknown-emscripten
RUN rustup target add wasm32-unknown-emscripten
RUN rustup target add wasm32-unknown-unknown
# Install cargo-web
ENV CARGO_WEB_VERSION=0.6.26
RUN cargo install --version $CARGO_WEB_VERSION cargo-web
# Install wasm-pack
ENV WASM_PACK_VERSION=0.8.1
RUN cargo install --version $WASM_PACK_VERSION wasm-pack
RUN cargo web prepare-emscripten