nordabiz/DEPLOYMENT-COMPLETE.md
2026-01-01 14:01:49 +01:00

6.8 KiB

Norda Biznes Hub - Deployment Complete

Date: 2025-11-23 Domain: nordabiznes.pl Status: LIVE IN PRODUCTION


Deployment Summary

Infrastructure

  • Application Server: NORDABIZ-01

    • VM ID: 249
    • IP: 10.22.68.249
    • OS: Ubuntu 24.04 LTS
    • Resources: 2 vCPU | 4GB RAM | 30GB Disk
    • Services: nginx
  • Reverse Proxy: R11-REVPROXY-01 (10.22.68.250)

    • Nginx Proxy Manager
    • SSL termination (Let's Encrypt)
    • Proxy ID: 27
    • Certificate ID: 27
  • External Access:

    • Public IP: 85.237.177.83 (Fortigate)
    • Domain: nordabiznes.pl (OVH)
    • DNS propagated:

Go-Live Verification Results

DNS Resolution

nordabiznes.pl     → 85.237.177.83 ✅
www.nordabiznes.pl → 85.237.177.83 ✅

HTTP/HTTPS

http://nordabiznes.pl  → 301 Redirect to HTTPS ✅
https://nordabiznes.pl → HTTP/2 200 OK ✅

WWW Redirect

https://www.nordabiznes.pl → 301 to https://nordabiznes.pl ✅

Security

SSL Certificate: Let's Encrypt ✅
Valid Until: Feb 21, 2026
HSTS: max-age=63072000; includeSubDomains; preload ✅
HTTP/2: Enabled ✅

Performance

Page Load Time: 98ms (from browser test)
DNS Lookup: 2ms
Server Response: 7ms
Transfer Size: 1.5 KB
Overall Rating: ✅ Good

Technical Details

Proxy Configuration (NPM)

  • Proxy Host ID: 27
  • Domains: nordabiznes.pl, www.nordabiznes.pl
  • Backend: http://10.22.68.249:80
  • SSL Forced: Yes
  • Block Exploits: Yes
  • Websockets: Yes
  • HTTP/2: Yes
  • HSTS: Enabled with subdomains and preload

SSL Certificate

  • Provider: Let's Encrypt
  • Certificate ID: 27
  • Issued: 2025-11-23 15:26:24 GMT
  • Expires: 2026-02-21 15:26:23 GMT (90 days)
  • Auto-renewal: Yes (NPM cron job)
  • Certificate Path: /etc/letsencrypt/live/npm-27//etc/letsencrypt/live/nordabiznes.pl/

Application

  • Type: Static HTML/CSS/JavaScript
  • Member Companies: 82
  • Features:
    • Search functionality
    • Category filtering (IT, Budowlane, Usługi, Produkcja, Handel)
    • Responsive design (mobile, tablet, desktop)
    • Company cards with descriptions

Deployment Issues & Resolution

Issue: HTTPS Failed After Initial Deployment

Problem: HTTP worked but HTTPS returned ERR_SSL_UNRECOGNIZED_NAME_ALERT

Root Cause: NPM expects SSL certificates in /etc/letsencrypt/live/npm-{ID}/ but certbot created them in /etc/letsencrypt/live/{DOMAIN}/

Solution: Created symlink npm-27 → nordabiznes.pl

Time to Fix: 40 minutes investigation + 5 minutes implementation

Prevention: Updated npm_manager.py to automatically create symlinks in future deployments

Documentation: Complete case study added to npm-manager SKILL.md


Files Deployed

/var/www/nordabiznes/
├── index.html      # Main application (3,863 bytes)
├── styles.css      # Styling
├── script.js       # JavaScript logic + 82 company data
└── README.md       # Project documentation

Access URLs

Production

Internal


Monitoring

  • Server: NORDABIZ-01 currently NOT in Zabbix (needs to be added)
  • Uptime Monitoring: Via external service (future)
  • SSL Expiry: Automatic renewal via NPM (60 days before expiry)

Maintenance

Regular Tasks

  • Daily: Automated PBS backup (Proxmox Backup Server)
  • Weekly: Check nginx logs for errors
  • Monthly: Review SSL certificate auto-renewal (should be automatic)
  • Quarterly: Review and update company list

Log Files

# Nginx access logs
tail -f /var/log/nginx/nordabiznes-access.log

# Nginx error logs
tail -f /var/log/nginx/nordabiznes-error.log

# NPM logs
docker logs -f nginx-proxy-manager_app_1

Manual SSL Renewal (if needed)

# Should never be needed (auto-renews), but in case:
ssh maciejpi@10.22.68.250
docker exec nginx-proxy-manager_app_1 certbot renew --cert-name nordabiznes.pl

Rollback Plan

If issues arise:

  1. Disable HTTPS: Edit NPM proxy host #27, disable Force SSL
  2. Remove from NPM: Delete proxy host #27 in NPM UI
  3. Stop nginx: ssh root@10.22.68.249 && systemctl stop nginx
  4. Restore from backup: PBS has daily backups of NORDABIZ-01

Next Steps (Future Enhancements)

Phase 2 - Company Profiles

  • Detailed company pages
  • Contact information (email, phone, address)
  • Social media links
  • Photo galleries
  • Product/service offerings

Phase 3 - Networking Features

  • Messaging system between companies
  • Bulletin board
  • Collaboration opportunities
  • Networking events calendar

Phase 4 - Business Deals

  • B2B marketplace
  • Business partner matching
  • Joint projects and consortia
  • References and recommendations

Infrastructure

  • Add NORDABIZ-01 to Zabbix monitoring
  • Configure local DNS (nordabiznes.inpi.local)
  • Update IPAM with production tag
  • Set up external uptime monitoring

Lessons Learned

What Worked Well

Automated proxy creation via NPM API Certbot direct SSL certificate generation Automated database configuration Fast deployment (VM created → website live in ~2 hours)

Issues Encountered

NPM certificate path mismatch (npm-{ID} vs domain name) Nginx config silently deleted when validation fails NPM API reports success even when nginx -t fails

Improvements Made

Updated npm_manager.py to auto-create symlinks Added nginx config file verification Comprehensive documentation in SKILL.md Automated prevention for future deployments


Team Members


Deployment Sign-Off

Deployed By: Claude Code (AI Assistant) Deployment Date: 2025-11-23 Deployment Duration: ~2 hours Issues: 1 (SSL configuration - resolved) Status: PRODUCTION READY

Verification Checklist:

  • DNS configured and propagated
  • HTTP working
  • HTTPS working with valid SSL
  • WWW redirect working
  • Security headers present (HSTS)
  • HTTP/2 enabled
  • Performance acceptable (<100ms)
  • Browser compatibility verified
  • Backup configured (PBS daily)
  • Documentation complete
  • Monitoring configured (pending - Zabbix)
  • Local DNS configured (pending)
  • IPAM updated (pending)

🎉 Deployment Successful - Site Live at https://nordabiznes.pl