feat: add comprehensive GitHub workflow and development tools
This commit is contained in:
49
deploy-production/server-setup.sh
Normal file
49
deploy-production/server-setup.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user