Files
taxbaik/SERVER_SETUP.sh
kjh2064 1c802463c7
TaxBaik CI/CD / build-and-deploy (push) Failing after 26s
수정: Gitea Actions 워크플로우 - master 브랜치 및 경로 수정
- 브랜치: main → master 변경
- 프로젝트 경로: src/ 제거 (루트 수준)
- SSH 에이전트 활용 (webfactory/ssh-agent)

배포 자동화 준비 완료

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-26 15:25:32 +09:00

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"