#!/bin/bash ### SYSTEM SETUP rex doas mkdir -p /4server rex doas chmod 777 /4server rex mkdir -p /4server/data/log template templates/hosts /etc/hosts ### PACKAGES template templates/repositories /etc/apk/repositories rex doas apk update && upgrade rex doas apk add python3 build-base python3-dev linux-headers py3-pip gcc g++ musl-dev libffi-dev make jq rsync mc vim docker docker-compose htop linux-lts sqlite bash postgresql16-client rex doas pip install --break-system-packages --no-cache-dir "uvicorn[standard]" fastapi pydantic psutil ### own bins prsync -h "$hosts_file" -avz ./sbin/ /4server/sbin/ ### API #INSTALL API KEYS template templates/4server /etc/4server #INSTALL API SERVICE template templates/init.d/4server-api /etc/init.d/4server-api rex doas chmod 0755 /etc/init.d/4server-api rex doas chown root:root /etc/init.d/4server-api rex doas rc-update add 4server-api default rex doas rc-service 4server-api restart ### Infrastructure ##### Docker rex doas rc-service docker start rex doas rc-update add docker boot rex mkdir -p /4server/data/traefik/etc template templates/traefik.yaml /4server/data/traefik/etc/traefik.yaml rex mkdir -p /4server/data/traefik/etc/certs prsync -h "$hosts_file" -avz ./etc/certs/* /4server/data/traefik/etc/certs/ template templates/docker-compose.yml /4server/docker-compose.yml rex doas docker-compose -f /4server/docker-compose.yml up -d --force-recreate