-
released this
2025-11-29 00:14:38 +00:00 | 47 commits to main since this releaseRelease v0.0.3 - Custom Domain Support
This release adds full custom domain support with a scalable, registration-based approach.
Key Features
Custom Domain Support
- ✅ Users can specify custom domains in
.pagesfile - ✅ Registration-based activation (visit pages URL to activate)
- ✅ Automatic SSL certificate provisioning via Traefik
- ✅ Cache-only lookups for infinite scalability
Performance
- Infinite scalability: Performance independent of user/repository count
- Fast all requests: <5ms response time with cache-only lookups
- Efficient caching: Only active custom domains consume cache space
Configuration
enableCustomDomains(bool, default: true) - Enable/disable custom domainscustomDomainCacheTTL(int, default: 600) - Cache TTL in seconds
How Custom Domains Work
- Add
custom_domain: www.example.comto repository's.pagesfile - Visit
https://username.pages.domain.com/repositoryto activate - Configure DNS (A or CNAME record) pointing to Traefik server
- Access site at
https://www.example.com
What's Changed
Added
registerCustomDomainmethod for automatic domain registrationresolveCustomDomainmethod with cache-only lookupparseCustomDomainPathmethod for custom domain URL parsing- Comprehensive test suite in
custom_domain_test.go CUSTOM_DOMAINS.mdtechnical documentation- Configuration options:
enableCustomDomains,customDomainCacheTTL
Changed
ServeHTTPautomatically registers custom domains when serving pages- Custom domains require activation via pages URL visit
- Enhanced Traefik router examples with priority-based routing
Improved
- Test coverage: 78.2% (up from 74.9%)
- Simplified architecture: Registration-based approach
- Better UX: Clear activation steps and helpful error messages
Installation
experimental: plugins: pages-server: moduleName: code.squarecows.com/SquareCows/pages-server version: v0.0.3Documentation
- README.md - Installation and usage
- CUSTOM_DOMAINS.md - Custom domain technical details
- CHANGELOG.md - Complete changelog
Full Changelog: https://code.squarecows.com/SquareCows/pages-server/compare/v0.0.2...v0.0.3
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- ✅ Users can specify custom domains in
-
released this
2025-11-27 22:57:48 +00:00 | 48 commits to main since this releaseVersion 0.0.2 Release
This release adds GPLv3 licensing and simplifies the plugin architecture by removing external dependencies and letting Traefik handle what it does best.
🎉 Added
- GPLv3 License with full compliance
- Complete GPLv3 license text in LICENSE file
- License headers on all Go source files
- License headers on YAML configuration files
- Copyright (C) 2025 SquareCows
🗑️ Removed
-
Cloudflare DNS management - Users now manually configure DNS with any DNS provider
- Removed
cloudflareAPIKeyandcloudflareZoneIDconfiguration - Removed
cloudflare_dns.goandcloudflare_dns_test.go - More flexible: works with any DNS provider (Cloudflare, Route53, etc.)
- Removed
-
Let's Encrypt certificate management - Traefik handles all SSL certificates
- Removed
letsEncryptEndpointandletsEncryptEmailconfiguration - Removed
cert_manager.goandcert_manager_test.go - Clearer separation: plugin serves files, Traefik manages SSL
- Removed
🔧 Changed
- Simplified configuration - Only 2 required parameters:
pagesDomain- Base domain for pagesforgejoHost- Forgejo instance URL
- Updated module path from
github.com/SquareCows/pages-servertocode.squarecows.com/SquareCows/pages-server - Custom domains require manual DNS A/CNAME record creation
📈 Improved
- Test coverage increased from 56.3% to 74.9%
- Reduced codebase by 741 lines
- Clearer architecture - plugin focuses on serving static files
- More flexible DNS - works with any DNS provider
📚 Documentation
All documentation updated to reflect new architecture and DNS approach.
🔗 Links
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- GPLv3 License with full compliance