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:
- Create
companyWebsiterepo in Gitea under TekDekOC organization - Push all website code to Gitea
- Deploy to live web server (web.tekdek.dev)
- Maintain Gitea copies as rollback fallback
- 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
- Server: web.tekdek.dev
- Path: /publish/web1/public/docs/ (new subdirectory)
- URL: https://web.tekdek.dev/docs/
- Existing: /team.html remains at https://web.tekdek.dev/team.html
- New landing: https://web.tekdek.dev/ links to /docs/
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:
- Identify issue in logs
- Pull previous version from Gitea
- Redeploy to web server
- Verify all systems working
- 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:
- Source of truth for all website code
- Fallback copy for disaster recovery
- Version history for tracking changes
- 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:
- Creating infrastructure (Gitea repo)
- Moving code (local → Gitea → web server)
- Verifying systems (testing all endpoints)
- 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.