Skip to content

Instantly share code, notes, and snippets.

@tigattack
Created October 26, 2024 15:27
Show Gist options
  • Save tigattack/fbecb093297cc5049f737a270bb339b5 to your computer and use it in GitHub Desktop.
Save tigattack/fbecb093297cc5049f737a270bb339b5 to your computer and use it in GitHub Desktop.
Generates a Gource visualisation of goauthentik/authentik.
#!/usr/bin/env bash
for i in git gource ffmpeg magick; do
command -v $i >/dev/null 2>&1 || { echo >&2 "Error: $i is not installed. Aborting."; exit 1; }
done
gource_tmpdir=$(mktemp -d)
cd $gource_tmpdir
git clone [email protected]:/goauthentik/authentik.git .
cat > gource.conf <<EOF
[display]
fullscreen=true
high-dpi=true
multi-sampling=true
output-framerate=60
output-ppm-stream=-
screen=1
[gource]
auto-skip-seconds=0.1
key=true
seconds-per-day=0.05
max-file-lag=2
stop-at-end=true
time-scale=1
logo=authentik.png
bloom-intensity=0.5
filename-time=2
hide=filenames
title=https://goauthentik.io
dir-font-size=10
disable-input=true
EOF
magick web/icons/icon.png -resize 25% web/icons/icon_small.png
jens_mailmap=$(
git shortlog -e \
| grep -i 'jens l' \
| gsed \
-e 's/\(.*>\).*/\1/' \
-e 's/.*\s</</' \
| tr '\n' ' '
)
echo "Jens Langhammer $jens_mailmap" > .mailmap
gource --load-config ./gource.conf \
--logo web/icons/icon_small.png | \
ffmpeg -r 60 -f image2pipe -c:v ppm \
-i - -c:v hevc_videotoolbox \
-b:v 21000k -pix_fmt yuv420p \
-threads 12 -bf 0 gource.mp4
mv gource.mp4 ~/Downloads/authentik_gource.mp4
rm -rf $gource_tmpdir
https://vimeo.com/1023559079/bed693a11f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment