Skip to main content

Deployment Guide for poulos.house

Current Status

✅ Site is built and tested locally ✅ Git repository initialized with initial commit ⏳ Ready to deploy to GitHub Pages ⏳ DNS configuration needed

Step 1: Create GitHub Repository and Push

  1. Create a new GitHub repository:
    • Go to https://github.com/new
    • Repository name: www_campaign (or poulos-house)
    • Description: “Campaign website for Poulos for Congress”
    • Keep it Public (required for free GitHub Pages)
    • Do NOT initialize with README, .gitignore, or license (we already have these)
    • Click “Create repository”
  2. Add GitHub as remote and push:
    cd /media/jason/Dropbox/github/www_campaign
    
    # Add your GitHub repository as remote (replace USERNAME with your GitHub username)
    git remote add origin https://github.com/USERNAME/www_campaign.git
    
    # Rename branch to main (GitHub's default)
    git branch -M main
    
    # Push to GitHub
    git push -u origin main
    

Step 2: Enable GitHub Pages

  1. Configure GitHub Pages:
    • Go to your repository on GitHub
    • Click SettingsPages (in left sidebar)
    • Under “Source”:
      • Branch: Select main
      • Folder: Select / (root)
    • Click Save
  2. Wait for deployment:
    • GitHub will build and deploy your site (usually takes 1-2 minutes)
    • You’ll see a notification: “Your site is published at https://USERNAME.github.io/www_campaign/”
    • The CNAME file will tell GitHub to use poulos.house as the custom domain

Step 3: Configure DNS for poulos.house

You need to configure your DNS records at your domain registrar (wherever you purchased poulos.house).

Option A: Using Apex Domain (poulos.house)

Add the following A records pointing to GitHub Pages:

Type: A
Name: @
Value: 185.199.108.153

Type: A
Name: @
Value: 185.199.109.153

Type: A
Name: @
Value: 185.199.110.153

Type: A
Name: @
Value: 185.199.111.153

Also add a CNAME record for www subdomain:

Type: CNAME
Name: www
Value: USERNAME.github.io

Option B: Using www Subdomain (www.poulos.house)

If you prefer www.poulos.house as primary:

Type: CNAME
Name: www
Value: USERNAME.github.io

Type: A (for apex redirect)
Name: @
Value: 185.199.108.153
(repeat for all 4 IPs above)

DNS Configuration Examples by Provider:

Namecheap:

  1. Login → Domain List → Manage → Advanced DNS
  2. Add the A records and CNAME as shown above
  3. TTL can be set to “Automatic” or “1 min” for faster propagation

GoDaddy:

  1. My Products → Domains → DNS
  2. Add records as shown above

Cloudflare:

  1. DNS tab → Add record
  2. Add the records (leave proxy status as “Proxied” for SSL benefits)

Step 4: Configure Custom Domain in GitHub

  1. After DNS records are added (allow up to 48 hours for propagation, usually much faster):
    • Go to GitHub repository → Settings → Pages
    • Under “Custom domain”, enter: poulos.house
    • Click Save
  2. Enable HTTPS (recommended):
    • Wait a few minutes for DNS to verify
    • Check the box “Enforce HTTPS”
    • GitHub will automatically provision an SSL certificate

Step 5: Verify Deployment

  1. Check DNS propagation:
    # Check if DNS is resolving
    dig poulos.house
    
    # Should show GitHub Pages IPs
    
  2. Test the site:
    • Visit https://poulos.house
    • All pages should load correctly
    • Check that Google Analytics is tracking (use browser dev tools → Network tab)
    • Test mobile responsiveness (browser dev tools → Device toolbar)

Updating the Site

After making changes:

cd /media/jason/Dropbox/github/www_campaign

# Make your edits to files...

# Stage and commit changes
git add .
git commit -m "Description of changes"

# Push to GitHub
git push origin main

GitHub Pages will automatically rebuild and deploy within 1-2 minutes.

Troubleshooting

DNS not resolving

GitHub Pages not building

HTTPS certificate issues

Site shows 404

Additional Resources

Support

For technical issues with the site, contact: jason@poulos.house