1c802463c7
TaxBaik CI/CD / build-and-deploy (push) Failing after 26s
- 브랜치: main → master 변경 - 프로젝트 경로: src/ 제거 (루트 수준) - SSH 에이전트 활용 (webfactory/ssh-agent) 배포 자동화 준비 완료 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
78 lines
2.5 KiB
Bash
78 lines
2.5 KiB
Bash
#!/bin/bash
|
|
# TaxBaik Server Setup Script
|
|
# Run on Ubuntu 26.04 server as root or with sudo
|
|
|
|
set -e
|
|
|
|
echo "===== TaxBaik Server Setup ====="
|
|
|
|
# Colors for output
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Configuration
|
|
DEPLOY_USER="kjh2064"
|
|
DB_NAME="taxbaikdb"
|
|
DB_USER="taxbaik"
|
|
DB_PASSWORD="${DB_PASSWORD:-$(openssl rand -base64 12)}" # Use env var or generate
|
|
DEPLOY_DIR="/home/$DEPLOY_USER"
|
|
|
|
echo -e "${BLUE}1. Installing .NET 8 Runtime${NC}"
|
|
sudo apt-get update
|
|
sudo apt-get install -y dotnet-runtime-8.0 aspnetcore-runtime-8.0
|
|
|
|
echo -e "${BLUE}2. Installing PostgreSQL 18${NC}"
|
|
sudo apt-get install -y postgresql postgresql-contrib
|
|
|
|
echo -e "${BLUE}3. Creating database and user${NC}"
|
|
sudo -u postgres psql << EOF
|
|
CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';
|
|
CREATE DATABASE $DB_NAME OWNER $DB_USER;
|
|
GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;
|
|
EOF
|
|
|
|
echo -e "${BLUE}4. Creating deployment directories${NC}"
|
|
sudo -u $DEPLOY_USER mkdir -p $DEPLOY_DIR/deployments
|
|
sudo -u $DEPLOY_USER mkdir -p $DEPLOY_DIR/taxbaik_active
|
|
sudo -u $DEPLOY_USER mkdir -p $DEPLOY_DIR/taxbaik_admin_active
|
|
|
|
echo -e "${BLUE}5. Installing systemd service files${NC}"
|
|
sudo cp deploy/taxbaik.service /etc/systemd/system/
|
|
sudo cp deploy/taxbaik-admin.service /etc/systemd/system/
|
|
|
|
# Update environment variables in service files
|
|
sudo sed -i "s/YOUR_SECURE_PASSWORD_HERE/$DB_PASSWORD/g" /etc/systemd/system/taxbaik.service
|
|
sudo sed -i "s/YOUR_SECURE_PASSWORD_HERE/$DB_PASSWORD/g" /etc/systemd/system/taxbaik-admin.service
|
|
|
|
echo -e "${BLUE}6. Configuring Nginx${NC}"
|
|
sudo mkdir -p /etc/nginx/conf.d
|
|
sudo cp deploy/nginx-taxbaik-locations.conf /etc/nginx/conf.d/taxbaik.conf
|
|
sudo nginx -t
|
|
sudo systemctl reload nginx
|
|
|
|
echo -e "${BLUE}7. Enabling services${NC}"
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable taxbaik taxbaik-admin
|
|
sudo systemctl enable postgresql
|
|
|
|
echo -e "${GREEN}===== Setup Complete ====="
|
|
echo ""
|
|
echo "Database credentials:"
|
|
echo " Host: localhost"
|
|
echo " Database: $DB_NAME"
|
|
echo " User: $DB_USER"
|
|
echo " Password: $DB_PASSWORD"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Copy the first deployment to ~/deployments/taxbaik_TIMESTAMP/"
|
|
echo " 2. Create symlinks:"
|
|
echo " ln -s ~/deployments/taxbaik_TIMESTAMP ~/taxbaik_active"
|
|
echo " ln -s ~/deployments/taxbaik_admin_TIMESTAMP ~/taxbaik_admin_active"
|
|
echo " 3. Start services:"
|
|
echo " sudo systemctl start taxbaik taxbaik-admin"
|
|
echo " 4. Verify:"
|
|
echo " sudo systemctl status taxbaik taxbaik-admin"
|
|
echo " curl http://127.0.0.1:5001/taxbaik"
|
|
echo " curl http://127.0.0.1:5002/taxbaik/admin/login"
|