Skip to content

New Project Setup Checklist

Purpose: Comprehensive checklist for setting up new projects with proper infrastructure Context: Ensures no critical steps are forgotten when creating new projects Critical: Backup setup is mandatory for all production servers

๐Ÿš€ Pre-Development Setup

1. Project Documentation Structure

  • [ ] Create project folder: projects/[project-name]/
  • [ ] Initialize documentation folder: docs/[project-name]/
  • [ ] Create base files:
  • [ ] index.md - Project overview and goals
  • [ ] implementation.md - Technical implementation details
  • [ ] status.md - Current development status
  • [ ] deployment.md - Hosting and infrastructure setup
  • [ ] TODO.md - Project-specific tasks
  • [ ] Add project to main TODO index
  • [ ] Update domain inventory if applicable

2. Development Environment

  • [ ] Initialize git repository
  • [ ] Create .gitignore appropriate for project type
  • [ ] Set up development dependencies
  • [ ] Create AI_CONTEXT.md for AI development assistance
  • [ ] Create deploy.sh script with git workflow integration

๐Ÿ–ฅ๏ธ Server Infrastructure Setup

3. Server Provisioning

  • [ ] Domain Configuration
  • [ ] Purchase/configure domain
  • [ ] Set up DNS records
  • [ ] Configure subdomains if needed

  • [ ] Server Setup

  • [ ] Provision VPS/hosting account
  • [ ] Configure SSH access
  • [ ] Set up basic security (firewall, fail2ban, etc.)
  • [ ] Install required software stack

4. SSL and Security

  • [ ] SSL Certificate Setup
  • [ ] Install Let's Encrypt/SSL certificates
  • [ ] Configure nginx/apache with SSL
  • [ ] Test SSL certificate validity
  • [ ] Set up auto-renewal

  • [ ] Security Hardening

  • [ ] SSH key authentication
  • [ ] Disable password authentication
  • [ ] Configure firewall rules
  • [ ] Set up fail2ban
  • [ ] Regular security updates

๐Ÿ”„ CRITICAL: Backup System Integration

5. Backup Configuration (MANDATORY FOR ALL PRODUCTION SERVERS)

โš ๏ธ CRITICAL: Never deploy to production without backup integration!

A. Server-to-Backup-Server Setup

  • [ ] SSH Key Setup
  • [ ] Generate SSH key pair on production server
  • [ ] Add public key to backup server authorized_keys
  • [ ] Test SSH connection: ssh backup.satoshihost.com

  • [ ] Backup Scripts Installation

  • [ ] Install backup scripts on production server
  • [ ] Configure backup destinations
  • [ ] Set up cron jobs for automated backups
  • [ ] Test initial backup run

  • [ ] Backup Schedule

  • [ ] Daily database backups (if applicable)
  • [ ] Weekly full file system backups
  • [ ] Monthly system configuration backups
  • [ ] Log rotation and cleanup

B. Deploy Script Integration

  • [ ] Local Deployment Backups
  • [ ] Configure deploy script to create pre-deployment backups
  • [ ] Set backup retention (recommend 5 most recent)
  • [ ] Test rollback functionality
  • [ ] Document rollback procedures

C. Backup Verification

  • [ ] Test Backup System
  • [ ] Verify backups are being created
  • [ ] Test restore procedure (on test server)
  • [ ] Confirm backup server has adequate space
  • [ ] Set up monitoring alerts for backup failures

6. Monitoring and Alerting

  • [ ] Health Monitoring
  • [ ] Set up uptime monitoring
  • [ ] Configure application health checks
  • [ ] Set up log monitoring
  • [ ] Create backup failure alerts

  • [ ] Performance Monitoring

  • [ ] Monitor server resources (CPU, RAM, disk)
  • [ ] Set up application performance monitoring
  • [ ] Configure disk space alerts
  • [ ] Monitor backup storage usage

๐Ÿš€ Deployment Pipeline

7. Deployment Automation

  • [ ] Enhanced Deploy Script
  • [ ] Git workflow integration (auto-commit)
  • [ ] Pre-deployment backup creation
  • [ ] Automated file synchronization
  • [ ] Post-deployment health checks
  • [ ] Rollback capabilities

  • [ ] CI/CD Integration (if applicable)

  • [ ] Automated testing
  • [ ] Staging environment deployment
  • [ ] Production deployment approval
  • [ ] Automated rollback on failure

8. Documentation and Handover

  • [ ] Technical Documentation
  • [ ] Server specifications and credentials
  • [ ] Deployment procedures
  • [ ] Backup and recovery procedures
  • [ ] Monitoring and alerting setup
  • [ ] Emergency contact procedures

  • [ ] Operational Documentation

  • [ ] User guides (if applicable)
  • [ ] Admin procedures
  • [ ] Troubleshooting guides
  • [ ] Maintenance schedules

๐Ÿ“‹ Backup System Architecture Overview

Current Infrastructure

  • Production Servers: ES1-ES7, BTCPay Server, etc.
  • Backup Server: Servarica 1 (209.209.10.41) - 1TB storage
  • Backup URL: https://backup.satoshihost.com/andy/
  • SSL Status: Valid until 2025-09-07

Backup Types

  1. Deploy Script Backups (local, immediate rollback)
  2. System Backups (remote, disaster recovery)
  3. Git Repositories (source code protection)

โš ๏ธ CRITICAL REMINDERS

Never Forget These Steps:

  1. ๐Ÿ”„ Backup Integration: No production deployment without backup setup
  2. ๐Ÿ”’ SSL Certificates: All production sites need SSL
  3. ๐Ÿ“Š Monitoring: Set up uptime and performance monitoring
  4. ๐Ÿ“š Documentation: Document everything for future reference
  5. ๐Ÿงช Testing: Test backup and restore procedures

Common Mistakes to Avoid:

  • Deploying to production without backup system
  • Forgetting to test SSL certificate renewal
  • Not documenting server credentials and procedures
  • Missing monitoring setup for new services
  • Forgetting to add new servers to backup rotation

๐Ÿ“ Project-Specific Checklists

Use this as a template and customize for specific project types:

Web Application Projects

  • [ ] Database backup procedures
  • [ ] Application logs backup
  • [ ] User data protection compliance
  • [ ] Session management security

API/Service Projects

  • [ ] API documentation
  • [ ] Rate limiting configuration
  • [ ] API key management
  • [ ] Service health endpoints

Static Website Projects

  • [ ] CDN configuration (if needed)
  • [ ] Static file optimization
  • [ ] SEO setup
  • [ ] Analytics integration

Created: June 13, 2025
Purpose: Prevent forgetting critical infrastructure setup steps
Priority: Essential for all new production projects