New install scripts
This commit is contained in:
parent
2b04f2766c
commit
43ed071ea4
61
act-install.sh
Executable file
61
act-install.sh
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
token=$REGISTRATION_TOKEN
|
||||||
|
instance=$INSTANCE
|
||||||
|
|
||||||
|
[ -z "$token" ] && 2>&1 echo "REGISTRATION_TOKEN env var must be provided" && exit 1
|
||||||
|
[ -z "$instance" ] && 2>&1 echo "INSTANCE env var is not provided" && exit 1
|
||||||
|
[ $UID -ne 0 ] && 2>&1 echo "Run as root please, we are going to install stuff" && exit 1
|
||||||
|
|
||||||
|
mkdir -p /tmp/actrunner
|
||||||
|
|
||||||
|
trap "rm -rf /tmp/actrunner" EXIT
|
||||||
|
|
||||||
|
pushd /tmp/actrunner
|
||||||
|
|
||||||
|
VERSION=$(curl -s https://gitea.com/api/v1/repos/gitea/act_runner/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
|
||||||
|
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
ARCH=$(uname -m | sed 's/x86_/amd/')
|
||||||
|
|
||||||
|
echo "Downloading version ${VERSION} ${OS} ${ARCH}..."
|
||||||
|
curl --progress-bar -L -o act_runner https://gitea.com/gitea/act_runner/releases/download/v${VERSION}/act_runner-${VERSION}-${OS}-${ARCH}
|
||||||
|
chmod +x act_runner
|
||||||
|
|
||||||
|
./act_runner register --no-interactive --instance $instance --token $token --name $(hostname) --labels ${OS},${ARCH}
|
||||||
|
|
||||||
|
cat <<EOF >/etc/systemd/system/act_runner.service
|
||||||
|
[Unit]
|
||||||
|
Description=Gitea Actions runner
|
||||||
|
Documentation=https://gitea.com/gitea/act_runner
|
||||||
|
After=docker.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/act_runner daemon --config /etc/act_runner/config.yaml
|
||||||
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
|
WorkingDirectory=/var/lib/act_runner
|
||||||
|
TimeoutSec=0
|
||||||
|
RestartSec=10
|
||||||
|
Restart=always
|
||||||
|
User=act_runner
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
mkdir -p /etc/act_runner
|
||||||
|
mkdir -p /var/lib/act_runner
|
||||||
|
./act_runner generate-config > /etc/act_runner/config.yaml
|
||||||
|
mv act_runner /usr/sbin/
|
||||||
|
mv .runner /var/lib/act_runner/
|
||||||
|
|
||||||
|
useradd -r -m act_runner
|
||||||
|
usermod -aG docker act_runner
|
||||||
|
chown -R act_runner:act_runner /etc/act_runner
|
||||||
|
chown -R act_runner:act_runner /var/lib/act_runner
|
||||||
|
|
||||||
|
systemctl enable act_runner.service
|
||||||
|
systemctl start act_runner.service
|
||||||
|
|
||||||
|
popd
|
||||||
44
alertmanager-install.sh
Executable file
44
alertmanager-install.sh
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION=$(curl -s https://api.github.com/repos/prometheus/alertmanager/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
|
||||||
|
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
ARCH=$(uname -m | sed 's/x86_/amd/')
|
||||||
|
|
||||||
|
trap "rm -rf alertmanager*" EXIT
|
||||||
|
|
||||||
|
pushd /tmp
|
||||||
|
filename="alertmanager-${VERSION}.${OS}-${ARCH}.tar.gz"
|
||||||
|
echo "Downloading version ${filename}"
|
||||||
|
wget https://github.com/prometheus/alertmanager/releases/download/v${VERSION}/$filename
|
||||||
|
tar xvfz $filename
|
||||||
|
cd alertmanager-*/
|
||||||
|
chmod +x ./alertmanager
|
||||||
|
mv ./alertmanager /usr/sbin/
|
||||||
|
mkdir -p /etc/alertmanager
|
||||||
|
cp alertmanager.yml /etc/alertmanager/
|
||||||
|
cat <<EOF >/etc/systemd/system/alertmanager.service
|
||||||
|
[Unit]
|
||||||
|
Description=Alertmanager
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=alertmanager
|
||||||
|
Group=alertmanager
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/etc/alertmanager/
|
||||||
|
ExecStart=/usr/sbin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --web.external-url http://0.0.0.0:9093
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
useradd -r alertmanager
|
||||||
|
chown -R alertmanager:alertmanager /etc/alertmanager
|
||||||
|
|
||||||
|
systemctl enable alertmanager.service
|
||||||
|
systemctl start alertmanager.service
|
||||||
|
|
||||||
|
popd
|
||||||
53
node-exporter-install.sh
Executable file
53
node-exporter-install.sh
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION=$(curl -s https://api.github.com/repos/prometheus/node_exporter/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
|
||||||
|
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
ARCH=$(uname -m | sed 's/x86_/amd/')
|
||||||
|
|
||||||
|
trap "rm -rf node_exporter-*" EXIT
|
||||||
|
|
||||||
|
pushd /tmp
|
||||||
|
filename="node_exporter-${VERSION}.${OS}-${ARCH}.tar.gz"
|
||||||
|
echo "Downloading version ${filename}"
|
||||||
|
wget https://github.com/prometheus/node_exporter/releases/download/v${VERSION}/$filename
|
||||||
|
tar xvfz $filename
|
||||||
|
cd node_exporter-*/
|
||||||
|
chmod +x ./node_exporter
|
||||||
|
mv ./node_exporter /usr/sbin/
|
||||||
|
cat <<EOF >/etc/systemd/system/node_exporter.service
|
||||||
|
[Unit]
|
||||||
|
Description=Node Exporter
|
||||||
|
Requires=node_exporter.socket
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=node_exporter
|
||||||
|
Environment=OPTIONS=
|
||||||
|
EnvironmentFile=-/etc/sysconfig/node_exporter
|
||||||
|
ExecStart=/usr/sbin/node_exporter --web.systemd-socket $OPTIONS
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
cat <<EOF >/etc/systemd/system/node_exporter.socket
|
||||||
|
[Unit]
|
||||||
|
Description=Node Exporter
|
||||||
|
|
||||||
|
[Socket]
|
||||||
|
ListenStream=9100
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sockets.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
useradd -r node_exporter
|
||||||
|
mkdir -p /var/lib/node_exporter/textfile_collector
|
||||||
|
chown -R node_exporter:node_exporter /var/lib/node_exporter
|
||||||
|
|
||||||
|
echo 'OPTIONS="--collector.textfile.directory /var/lib/node_exporter/textfile_collector"' > /etc/node_exporter.env
|
||||||
|
|
||||||
|
systemctl enable node_exporter.service
|
||||||
|
systemctl start node_exporter.service
|
||||||
|
|
||||||
|
popd
|
||||||
55
webrelay-install.sh
Executable file
55
webrelay-install.sh
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VERSION=$(curl -s https://git.savin.bio/api/v1/repos/savinmax/websocket-relay/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
|
||||||
|
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
ARCH=$(uname -m | sed 's/x86_/amd/')
|
||||||
|
|
||||||
|
[ $UID -ne 0 ] && 2>&1 echo "Run as root please, we are going to install stuff" && exit 1
|
||||||
|
|
||||||
|
trap "rm -rf websocket-relay*" EXIT
|
||||||
|
|
||||||
|
pushd /tmp
|
||||||
|
filename="websocket-relay-${OS}-${ARCH}"
|
||||||
|
echo "Downloading version ${filename}"
|
||||||
|
curl -s -L -o ./websocket-relay https://git.savin.bio/savinmax/websocket-relay/releases/download/v${VERSION}/$filename
|
||||||
|
chmod +x ./websocket-relay
|
||||||
|
mv websocket-relay /usr/sbin/websocket-relay
|
||||||
|
cat <<EOF >/etc/websocket-relay.yaml
|
||||||
|
server:
|
||||||
|
port: 8888
|
||||||
|
tls:
|
||||||
|
enabled: false
|
||||||
|
cert_file: cert.pem
|
||||||
|
key_file: key.pem
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
port: 9090
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF >/etc/systemd/system/websocket-relay.service
|
||||||
|
[Unit]
|
||||||
|
Description=websocket-relay
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=websocket-relay
|
||||||
|
Group=websocket-relay
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/etc/websocket-relay/
|
||||||
|
ExecStart=/usr/sbin/websocket-relay --config-file=/etc/websocket-relay.yaml
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
useradd -r websocket-relay
|
||||||
|
chown -R websocket-relay:websocket-relay /etc/websocket-relay.yaml
|
||||||
|
|
||||||
|
systemctl enable websocket-relay.service
|
||||||
|
systemctl start websocket-relay.service
|
||||||
|
|
||||||
|
popd
|
||||||
Loading…
x
Reference in New Issue
Block a user