Files
Brain/knowledge/agents/Hephaestus-Deployment-Task.md

6.9 KiB

Hephaestus Deployment Task: TekDek Documentation Website

Status: Ready for assignment
Assigned to: Hephaestus
Priority: High
Timeline: After Icarus CSS complete


Objective

Deploy the complete TekDek documentation website to production:

  1. Create companyWebsite repo in Gitea under TekDekOC organization
  2. Push all website code to Gitea
  3. Deploy to live web server (web.tekdek.dev)
  4. Maintain Gitea copies as rollback fallback
  5. Verify all systems operational

Scope

Website Content

  • Complete PHP framework (16 files)
  • CSS styling (3 files: base, components, responsive)
  • Pages: Home, About, Projects, Tools, Team, Decisions, 404
  • JavaScript (mobile menu)
  • Assets folder

Gitea Repository

  • Organization: TekDekOC
  • Repository: companyWebsite
  • Branch: main
  • Access: Team-wide read, Hephaestus write

Web Server Deployment


Pre-Deployment Checklist

Before deployment, verify:

  • All CSS files built by Icarus
  • All PHP files generated by Talos
  • No syntax errors in PHP (test locally)
  • All links working (internal navigation)
  • Assets in correct paths
  • .htaccess routing configured
  • Database API still responding (from employees page)

Deployment Steps

Step 1: Create Gitea Repository

# Via Gitea API or CLI
# Organization: TekDekOC
# Repository: companyWebsite
# Description: TekDek Company Website & Documentation
# Visibility: Public
# Initialize with README

Gitea URL: http://git.tekdek.dev/TekDekOC/companyWebsite

Step 2: Push Code to Gitea

# Clone empty repo
git clone http://git.tekdek.dev/TekDekOC/companyWebsite.git
cd companyWebsite

# Copy all PHP framework files
cp -r /publish/web1/public/css/ ./css/
cp -r /publish/web1/public/js/ ./js/
cp -r /publish/web1/public/includes/ ./includes/
cp -r /publish/web1/public/pages/ ./pages/
cp -r /publish/web1/public/assets/ ./assets/
cp /publish/web1/public/index.php ./
cp /publish/web1/public/config.php ./
cp /publish/web1/public/.htaccess ./
cp /publish/web1/public/README.md ./

# Add .gitignore
echo "*.log" > .gitignore
echo "temp/" >> .gitignore

# Commit and push
git add -A
git commit -m "Initial deployment: TekDek documentation website"
git push origin main

Step 3: Deploy to Web Server

# Create docs directory on web server
mkdir -p /publish/web1/public/docs/

# Copy all website files
cp -r companyWebsite/* /publish/web1/public/docs/

# Fix permissions
chmod -R 755 /publish/web1/public/docs/
chmod 644 /publish/web1/public/docs/*.php
chmod 644 /publish/web1/public/docs/css/*.css
chmod 644 /publish/web1/public/docs/js/*.js

# Verify .htaccess is in place
ls -la /publish/web1/public/docs/.htaccess

Step 4: Update Landing Page

Modify or create /publish/web1/public/index.php to include:

<?php
// Landing page that links to main sections
// Include top.php from docs
include '/publish/web1/public/docs/includes/top.php';
?>

<div class="container hero" style="text-align: center; padding: 100px 0;">
    <h1>Welcome to TekDek</h1>
    <p>Next-generation narrative-driven developer education</p>
    <nav style="margin-top: 40px;">
        <a href="/docs/" class="btn">Explore Documentation</a>
        <a href="/team.html" class="btn">Meet the Team</a>
    </nav>
</div>

<?php include '/publish/web1/public/docs/includes/bottom.php'; ?>

Step 5: Verify Deployment

Test each endpoint:

# Test landing page
curl https://web.tekdek.dev/

# Test documentation site
curl https://web.tekdek.dev/docs/
curl https://web.tekdek.dev/docs/about
curl https://web.tekdek.dev/docs/projects
curl https://web.tekdek.dev/docs/team

# Test API still works
curl https://web.tekdek.dev/api/employees/

# Test existing team page
curl https://web.tekdek.dev/team.html

# Check for errors
tail -f /var/log/apache2/error.log

Step 6: Monitor & Document

# Monitor for 24 hours
# Check error logs hourly
# Verify performance metrics
# Document any issues

# Log deployment
echo "$(date): TekDek documentation website deployed to production" >> /publish/web1/deployment.log

Rollback Procedure

If anything breaks:

  1. Identify issue in logs
  2. Pull previous version from Gitea
  3. Redeploy to web server
  4. Verify all systems working
  5. Document incident
# Pull previous version from Gitea
cd companyWebsite
git log --oneline
git checkout <previous-commit>

# Redeploy
cp -r companyWebsite/* /publish/web1/public/docs/

# Verify
curl https://web.tekdek.dev/docs/

Post-Deployment Tasks

After successful deployment:

  • Update MEMORY.md with deployment date
  • Add Hephaestus to team page (via Icarus update)
  • Test all links from main site to docs
  • Verify search functionality (if implemented)
  • Check mobile responsiveness on live site
  • Update TekDek-Strategy.md with "Website Live" note
  • Announce to team: "TekDek documentation site is live"

Gitea Repo Structure (Backup)

The companyWebsite repo will contain:

TekDekOC/companyWebsite/
├── README.md
├── .gitignore
├── index.php
├── config.php
├── .htaccess
├── css/
│   ├── base.css
│   ├── components.css
│   └── responsive.css
├── js/
│   └── main.js
├── includes/
│   ├── top.php
│   ├── bottom.php
│   ├── menu.php
│   └── functions.php
├── pages/
│   ├── home.php
│   ├── about.php
│   ├── projects.php
│   ├── tools.php
│   ├── team.php
│   ├── decisions.php
│   └── 404.php
└── assets/
    └── [images, icons]

This serves as:

  1. Source of truth for all website code
  2. Fallback copy for disaster recovery
  3. Version history for tracking changes
  4. Collaboration space for future updates

Success Criteria

Website is live at https://web.tekdek.dev/docs/
All pages load without errors
Navigation works on mobile and desktop
Links to team page (team.html) work
API endpoints still functional
Code is backed up in Gitea
Team can access and contribute to Gitea repo
Rollback procedure tested and documented


Notes for Hephaestus

This is your first full-stack deployment for TekDek. You're:

  1. Creating infrastructure (Gitea repo)
  2. Moving code (local → Gitea → web server)
  3. Verifying systems (testing all endpoints)
  4. Maintaining fallback (Gitea backup)

Execute methodically. Test everything. Document everything.

When this is done, TekDek has a public face: the documentation website. It's the first real thing customers/partners will see.

Make it work flawlessly.