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
- Create a new GitHub repository:
- Go to https://github.com/new
- Repository name:
www_campaign(orpoulos-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”
- 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
- Configure GitHub Pages:
- Go to your repository on GitHub
- Click Settings → Pages (in left sidebar)
- Under “Source”:
- Branch: Select
main - Folder: Select
/ (root)
- Branch: Select
- Click Save
- 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:
- Login → Domain List → Manage → Advanced DNS
- Add the A records and CNAME as shown above
- TTL can be set to “Automatic” or “1 min” for faster propagation
GoDaddy:
- My Products → Domains → DNS
- Add records as shown above
Cloudflare:
- DNS tab → Add record
- Add the records (leave proxy status as “Proxied” for SSL benefits)
Step 4: Configure Custom Domain in GitHub
- 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
- 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
- Check DNS propagation:
# Check if DNS is resolving dig poulos.house # Should show GitHub Pages IPs - 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
- DNS changes can take up to 48 hours to propagate worldwide
- Check DNS with:
dig poulos.houseornslookup poulos.house - Use online tools: https://www.whatsmydns.net/
GitHub Pages not building
- Check repository → Actions tab for build errors
- Ensure CNAME file contains only:
poulos.house - Verify _config.yml has correct url:
http://poulos.house
HTTPS certificate issues
- Wait 24 hours after DNS configuration for cert provisioning
- Remove and re-add custom domain in GitHub settings
- Ensure DNS is pointing correctly to GitHub IPs
Site shows 404
- Check that GitHub Pages is enabled on the
mainbranch - Verify CNAME file exists in root directory
- Check that build completed successfully in Actions tab
Additional Resources
Support
For technical issues with the site, contact: jason@poulos.house