financial_aggregator/server/setup.sh
2026-05-30 20:26:01 -05:00

47 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
# Setup script for financial aggregator server
# Run on fresh Debian 12 VM
set -e
echo "=== Financial Aggregator Setup ==="
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
echo "[1/6] Updating system..."
apt update && apt upgrade -y
echo "[2/6] Installing Docker..."
if ! command -v docker &> /dev/null; then
curl -fsSL https://get.docker.com | sh
usermod -aG docker $SUDO_USER
fi
echo "[3/6] Installing Docker Compose..."
if ! command -v docker compose &> /dev/null; then
apt install -y docker-compose-plugin
fi
echo "[4/6] Creating project directory..."
PROJECT_DIR="/opt/financial-aggregator"
mkdir -p $PROJECT_DIR/server/{caddy,mosquitto,aggregator}
echo "[5/6] Creating mosquitto directories..."
mkdir -p $PROJECT_DIR/server/mosquitto/{data,log}
chown -R 1883:1883 $PROJECT_DIR/server/mosquitto/
echo "[6/6] Setting permissions..."
chown -R $SUDO_USER:$SUDO_USER $PROJECT_DIR
echo ""
echo "=== Setup Complete ==="
echo ""
echo "Next steps:"
echo "1. Copy server files to $PROJECT_DIR/server/"
echo "2. Edit aggregator/.env with your settings"
echo "3. Create MQTT password: docker run --rm -v $PROJECT_DIR/server/mosquitto:/mosquitto eclipse-mosquitto:2 mosquitto_passwd -c /mosquitto/passwd esp32"
echo "4. Edit caddy/Caddyfile with your domain"
echo "5. Deploy: cd $PROJECT_DIR/server && docker compose up -d"