39 lines
1.4 KiB
Bash
Executable File
39 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
if [[ ${EUID} -ne 0 ]]; then
|
|
echo "Run as root" >&2
|
|
exit 1
|
|
fi
|
|
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
|
|
apt-get update
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
ca-certificates cron git openssh-client rsync util-linux curl jq \
|
|
docker.io zstd file python3
|
|
|
|
install -d -m 0755 /opt/opn-rustproxy
|
|
install -d -m 0755 /opt/opn-rustproxy/source
|
|
install -d -m 0755 /opt/opn-rustproxy/cache/cargo
|
|
install -d -m 0755 /var/lib/rustproxy-opnsense-builder
|
|
install -m 0755 "$REPO_ROOT/builder/debian/hourly-build.sh" /usr/local/sbin/rustproxy-opnsense-hourly
|
|
install -m 0644 "$REPO_ROOT/builder/debian/rustproxy-opnsense.cron" /etc/cron.d/rustproxy-opnsense
|
|
|
|
if [[ ! -e /etc/rustproxy-opnsense-builder.env ]]; then
|
|
install -m 0600 "$REPO_ROOT/builder.env.example" /etc/rustproxy-opnsense-builder.env
|
|
echo "Created /etc/rustproxy-opnsense-builder.env"
|
|
else
|
|
echo "Keeping existing /etc/rustproxy-opnsense-builder.env"
|
|
echo "Compare it with: $REPO_ROOT/builder.env.example"
|
|
fi
|
|
|
|
touch /var/log/rustproxy-opnsense-builder.log
|
|
chmod 0640 /var/log/rustproxy-opnsense-builder.log
|
|
systemctl enable --now docker
|
|
systemctl enable --now cron
|
|
|
|
echo "Debian Docker builder installed."
|
|
echo "Edit /etc/rustproxy-opnsense-builder.env and run:"
|
|
echo " /usr/local/sbin/rustproxy-opnsense-hourly"
|