Files
cc/app/update
2025-08-16 15:23:38 +02:00

52 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
### SYSTEM SETUP
rex doas mkdir -p /4server
rex doas chmod 777 /4server
rex mkdir -p /4server/data
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