# 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 - **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 ```bash # 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 ```bash # 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 ```bash # 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

Welcome to TekDek

Next-generation narrative-driven developer education

``` ### Step 5: Verify Deployment Test each endpoint: ```bash # 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 ```bash # 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** ```bash # Pull previous version from Gitea cd companyWebsite git log --oneline git checkout # 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.