- 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
50 lines
1.4 KiB
Bash
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"
|