This project demonstrates the implementation of dual OmniAuth provider configurations for GitHub authentication, supporting both standard GitHub.com and GitHub Enterprise Cloud (GHE) instances for data residency requirements.
- Ruby 3.4.3
 - OAuth API credentials:
- GitHub.com API keys
 - GitHub Enterprise API keys for your organization (
<subdomain>.ghe.com) 
 - A public-facing domain for OAuth callbacks
- Recommended tunnel solutions:
- ngrok
 - Tailscale Funnel
 - Cloudflare Tunnel
 
 
 - Recommended tunnel solutions:
 
- 
Create and configure environment variables:
cp .env.example .env
Update the
.envfile with your OAuth credentials. - 
Configure Bundler to access the Packfiles gem registry:
bundle config https://rubygems.pkg.github.com/packfiles USERNAME:personal_access_token_with_registry_access
 - 
Initialize the project:
bin/setup
 - 
Set up a tunnel for local development:
tailscale funnel 3000
 
Update config/environments/development.rb with your tunnel hostname(s) to enable OAuth callback functionality.
Data.Residency.Example.5-13-2025.16-56-27.mp4
Made with ❤️ by Packfiles 📦