Files
stiftung-management-system/deploy-production-archived/server-setup.sh
Stiftung Development a6559daeb1 Clean up docker-compose configuration
- Archive deploy-production directory as deploy-production-archived (legacy)
- Add DOCKER_COMPOSE_README.md for documentation
- Main configuration now uses compose.yml with working Paperless integration
- Paperless API URL configured as https://vhtv-stiftung.de/paperless
2025-09-17 13:19:35 +02:00

50 lines
1.4 KiB
Bash

#!/bin/bash
# Server Setup Script for Ubuntu 22.04
# Run as root: bash server-setup.sh
echo "=== Installing Docker and Docker Compose ==="
apt update
apt install -y ca-certificates curl gnupg lsb-release
# Add Docker's official GPG key
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Set up Docker repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Start and enable Docker
systemctl start docker
systemctl enable docker
echo "=== Installing Additional Tools ==="
apt install -y git nginx certbot python3-certbot-nginx ufw htop
echo "=== Setting up Firewall ==="
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80
ufw allow 443
ufw --force enable
echo "=== Creating Application User ==="
useradd -m -s /bin/bash stiftung
usermod -aG docker stiftung
echo "=== Creating Application Directory ==="
mkdir -p /opt/stiftung
chown stiftung:stiftung /opt/stiftung
echo "=== Setup Complete! ==="
echo "Next steps:"
echo "1. Switch to stiftung user: su - stiftung"
echo "2. Clone your repository to /opt/stiftung"
echo "3. Configure environment variables"
echo "4. Start the application"