d8769e8ad1
- /home/dot_config/rclone/merge_rclone.conf - /home/dot_config/rclone/s3-public.service.tmpl - /home/dot_config/rclone/s3-private.service.tmpl - /home/dot_config/rclone/s3-docker.service.tmpl - /home/dot_config/gcp/gcp.json.TODO - /home/dot_config/docker/plugins.json - /home/.chezmoitemplates/secrets/key-cloudflare-r2-secret - /home/.chezmoitemplates/secrets/key-cloudflare-r2-id - /home/dot_local/bin/executable_rclone-mount - /home/dot_local/bin/executable_install-program - /home/.chezmoidata.yaml - /home/.chezmoiscripts/_universal/run_onchange_before_11-install-docker.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_07-docker-plugins.tmpl - /home/.chezmoi.yaml.tmpl - /docs/TODO.md - /software.yml
55 lines
2.5 KiB
Cheetah
55 lines
2.5 KiB
Cheetah
{{- if (eq .host.distro.family "linux") -}}
|
|
#!/usr/bin/env bash
|
|
|
|
# Docker plugins.json hash: {{ include (joinPath .chezmoi.homeDir ".config" "docker" "plugins.json") | sha256sum }}
|
|
|
|
{{ includeTemplate "universal/profile" }}
|
|
{{ includeTemplate "universal/logg" }}
|
|
|
|
### Docker Clip
|
|
if [ -f "${XDG_CONFIG_HOME:-$HOME/.docker}/cli-plugins/docker-clip" ]; then
|
|
logg info 'Adding Docker clip commands. For more details check out https://github.com/lukaszlach/clip/'
|
|
docker clip add || EXIT_CODE=$?
|
|
if [ -n "$EXIT_CODE" ]; then
|
|
logg error 'Failed to run `docker clip add`'
|
|
fi
|
|
fi
|
|
|
|
### Docker Convoy
|
|
if [ ! -f /etc/docker/plugins/convoy.spec ]; then
|
|
logg info 'Adding the Docker Convoy plugin'
|
|
sudo mkdir -p /etc/docker/plugins
|
|
sudo bash -c 'echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec'
|
|
cd "$HOME/.local/src"
|
|
tar xvzf convoy.tar.gz
|
|
sudo cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/
|
|
rm -rf convoy
|
|
else
|
|
logg info 'Docker Convoy already added at /etc/docker/plugins/convoy.spec'
|
|
fi
|
|
|
|
### Docker push-rm
|
|
if [ ! -f "${XDG_CONFIG_HOME:-$HOME/.docker}/cli-plugins/docker-pushrm" ]; then
|
|
logg info 'Acquiring release information for Docker push-rm'
|
|
RELEASE_TAG="$(curl -sSL https://api.github.com/repos/christian-korneck/docker-pushrm/releases/latest | jq -r '.tag_name')"
|
|
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins"
|
|
logg info 'Downloading Docker push-rm'
|
|
curl https://github.com/christian-korneck/docker-pushrm/releases/download/$RELEASE_TAG/docker-pushrm_darwin_amd64 -o "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm"
|
|
chmod +x "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm"
|
|
logg success 'Added Docker push-rm'
|
|
else
|
|
logg info 'Docker push-rm already added'
|
|
fi
|
|
|
|
{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-digitalocean-pat")) -}}
|
|
### Docker DigitalOcean Block Storage
|
|
docker plugin install --grant-all-permissions rexray/dobs DOBS_TOKEN={{ includeTemplate "secrets/key-digitalocean-pat" | decrypt -}} DOBS_REGION={{ .host.docker.doRegion }} LINUX_VOLUME_FILEMODE=0775
|
|
{{ end -}}
|
|
|
|
### Docker plugins (defined in ~/.config/docker/plugins.json)
|
|
jq -r '.plugins[]' "${XDG_CONFIG_HOME:-$HOME/.config}/docker/plugins.json" | while read PLUGIN; do
|
|
logg info 'Installing the `'"$PLUGIN"'` Docker plugin'
|
|
docker plugin install --grant-all-permissions "$PLUGIN"
|
|
done
|
|
|
|
{{ end -}}
|