diff --git a/.gitea/workflows/build-deploy.yml b/.gitea/workflows/build-deploy.yml index b82024d1..fbd95ca8 100644 --- a/.gitea/workflows/build-deploy.yml +++ b/.gitea/workflows/build-deploy.yml @@ -4,10 +4,10 @@ on: push: branches: - main + - dev env: FRONTEND_HOST: psg-leagues-tools-frontend - DEPLOY_PATH: /home/sonder/leagues-tools/os-league-tools-master jobs: build-and-deploy: @@ -16,6 +16,18 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Set environment variables + run: | + if [ "${{ github.ref_name }}" = "main" ]; then + echo "DEPLOY_PATH=/home/sonder/leagues-tools/os-league-tools-master" >> $GITHUB_ENV + echo "SERVICE_NAME=os-league-tools" >> $GITHUB_ENV + echo "ENVIRONMENT=production" >> $GITHUB_ENV + else + echo "DEPLOY_PATH=/home/sonder/leagues-tools-dev/os-league-tools-master" >> $GITHUB_ENV + echo "SERVICE_NAME=os-league-tools-dev" >> $GITHUB_ENV + echo "ENVIRONMENT=development" >> $GITHUB_ENV + fi + - name: Set up Node.js uses: actions/setup-node@v4 with: @@ -46,9 +58,12 @@ jobs: - name: Deploy to frontend server run: | - ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl stop os-league-tools || true" + echo "Deploying ${{ env.ENVIRONMENT }} to ${{ env.DEPLOY_PATH }}" + ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl stop ${{ env.SERVICE_NAME }} || true" + ssh sonder@${{ env.FRONTEND_HOST }} "mkdir -p ${{ env.DEPLOY_PATH }}" ssh sonder@${{ env.FRONTEND_HOST }} "rm -rf ${{ env.DEPLOY_PATH }}/build" scp os-league-tools-master/build.tar.gz sonder@${{ env.FRONTEND_HOST }}:/tmp/ ssh sonder@${{ env.FRONTEND_HOST }} "tar -xzf /tmp/build.tar.gz -C ${{ env.DEPLOY_PATH }}/" ssh sonder@${{ env.FRONTEND_HOST }} "rm /tmp/build.tar.gz" - ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl start os-league-tools" + ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl start ${{ env.SERVICE_NAME }}" + echo "Deployed ${{ env.ENVIRONMENT }} successfully!" diff --git a/.gitignore b/.gitignore index 64259a77..90c82780 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,8 @@ os-league-tools-master//.vscode .claude/settings.local.json nul + +blake2tokenhasher-test/*.* +group-ironmen-master/*.* +group-ironmen-tracker-master/*.* +tasks-tracker-plugin-master/*.* diff --git a/os-league-tools-dev.service b/os-league-tools-dev.service new file mode 100644 index 00000000..97d51860 --- /dev/null +++ b/os-league-tools-dev.service @@ -0,0 +1,33 @@ +[Unit] +Description=OS League Tools - Dev Environment +After=network.target +Wants=network-online.target + +[Service] +Type=simple +User=sonder +Group=sonder +WorkingDirectory=/home/sonder/leagues-tools-dev/os-league-tools-master + +# Environment variables +Environment="NODE_ENV=production" +Environment="PORT=3001" + +# Start the application (serves the pre-built static files) +ExecStart=/usr/bin/serve -s build -l tcp://0.0.0.0:3001 + +# Restart policy +Restart=on-failure +RestartSec=10s + +# Logging +StandardOutput=journal +StandardError=journal +SyslogIdentifier=os-league-tools-dev + +# Security hardening +NoNewPrivileges=true +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/os-league-tools.service b/os-league-tools.service index eb0f77de..c2e2cba1 100644 --- a/os-league-tools.service +++ b/os-league-tools.service @@ -16,7 +16,7 @@ Environment="PORT=3000" # Environment="REACT_APP_RELDO_URL=http://localhost:8080" # Start the application (serves the pre-built static files) -ExecStart=/usr/bin/serve -s build -l 3000 +ExecStart=/usr/bin/serve -s build -l tcp://0.0.0.0:3000 # Restart policy Restart=on-failure