church-api/church-website-axum/deploy.sh
Benjamin Slingo 0c06e159bb Initial commit: Church API Rust implementation
Complete church management system with bulletin management, media processing, live streaming integration, and web interface. Includes authentication, email notifications, database migrations, and comprehensive test suite.
2025-08-19 20:56:41 -04:00

51 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
# RTSDA Church Website Deployment Script
set -e
echo "Setting up RTSDA Church Website..."
# Create directories
sudo mkdir -p /var/www/rtsda-website
sudo mkdir -p /opt/rtsda-website
# Copy static assets to web directory
sudo cp -r css/ js/ images/ /var/www/rtsda-website/
sudo chown -R www-data:www-data /var/www/rtsda-website
# Copy source code to opt directory
sudo cp -r src/ Cargo.toml Cargo.lock /opt/rtsda-website/
sudo chown -R rockvilleav:rockvilleav /opt/rtsda-website
# Build the application
cd /opt/rtsda-website
cargo build --release
# Create systemd service file
sudo tee /etc/systemd/system/rtsda-website.service > /dev/null <<EOF
[Unit]
Description=RTSDA Church Website
After=network.target
[Service]
Type=simple
User=rockvilleav
Group=rockvilleav
WorkingDirectory=/opt/rtsda-website
ExecStart=/opt/rtsda-website/target/release/axum-church-website
Restart=always
RestartSec=10
Environment=RUST_LOG=info
[Install]
WantedBy=multi-user.target
EOF
# Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable rtsda-website
sudo systemctl start rtsda-website
echo "Deployment complete!"
echo "Service status:"
sudo systemctl status rtsda-website --no-pager