Fix production 404 errors: Add missing OAuth endpoints and domain script

This commit is contained in:
poduck
2025-11-30 01:37:19 -05:00
parent 3ddd762d74
commit 613acf17c1
15 changed files with 1364 additions and 86 deletions

92
server-setup.sh Executable file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
# SmoothSchedule Server Initial Setup
# Run this on the production server to install dependencies
# Usage: ssh poduck@smoothschedule.com 'bash -s' < server-setup.sh
set -e
echo "==================================="
echo "SmoothSchedule Server Setup"
echo "==================================="
# Update system
echo ">>> Updating system packages..."
sudo apt-get update
sudo apt-get upgrade -y
# Install Docker
if ! command -v docker &> /dev/null; then
echo ">>> Installing Docker..."
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
rm get-docker.sh
echo "Docker installed!"
else
echo "Docker already installed."
fi
# Install Docker Compose
if ! command -v docker compose &> /dev/null; then
echo ">>> Installing Docker Compose..."
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
echo "Docker Compose installed!"
else
echo "Docker Compose already installed."
fi
# Install AWS CLI for DigitalOcean Spaces management
if ! command -v aws &> /dev/null; then
echo ">>> Installing AWS CLI..."
sudo apt-get install -y awscli
echo "AWS CLI installed!"
else
echo "AWS CLI already installed."
fi
# Install UFW firewall
if ! command -v ufw &> /dev/null; then
echo ">>> Installing UFW firewall..."
sudo apt-get install -y ufw
fi
# Configure firewall
echo ">>> Configuring firewall..."
sudo ufw --force enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 5555/tcp # Flower (Celery monitoring)
echo ">>> Firewall configured!"
# Install fail2ban for security
if ! command -v fail2ban-client &> /dev/null; then
echo ">>> Installing fail2ban..."
sudo apt-get install -y fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
echo "Fail2ban installed!"
else
echo "Fail2ban already installed."
fi
# Create project directory
echo ">>> Creating project directory..."
mkdir -p ~/smoothschedule
mkdir -p ~/smoothschedule-frontend
echo ""
echo "==================================="
echo "Server Setup Complete!"
echo "==================================="
echo ""
echo "Next steps:"
echo "1. Logout and login again for Docker group changes to take effect"
echo "2. Configure DigitalOcean Spaces: ./setup-spaces.sh"
echo "3. Deploy the application: ./deploy.sh"
echo ""
echo "IMPORTANT: Logout and login now!"