commit 1ee7f57cae62b5b5e5bdf2dc3e34b341cafcd014 Author: Florian Weber Date: Thu May 15 16:10:28 2025 +0000 Add Morlana Pages Free Subdomain Service diff --git a/Morlana-Pages-Free-Subdomain-Service.md b/Morlana-Pages-Free-Subdomain-Service.md new file mode 100644 index 0000000..91f00bd --- /dev/null +++ b/Morlana-Pages-Free-Subdomain-Service.md @@ -0,0 +1,55 @@ +## Overview + +This repository provided a free subdomain service for the `morlana.page` domain, similar to `js.org`. Users were able request a subdomain by forking this repository, adding their domain entry to `domains.yaml`, and submitting a pull request. + +## How It Works + +1. Fork this repository. +2. Add your subdomain entry to `domains.yaml`, ensuring it is in alphabetical order. +3. Submit a pull request. +4. Once the PR is approved and merged, an automated workflow updates the DNS records via the Cloudflare API. + +## Subdomain Requirements +- Only **CNAME** records are allowed. +- The Cloudflare proxy is **enabled by default**, but can be disabled per subdomain. +- Reserved domains cannot be registered (e.g., `www.morlana.page`). + +## How to Request a Subdomain +### 1. Edit `domains.yaml` +Add your subdomain under the `subdomains` section: + +```yaml +subdomains: + - name: "your-subdomain" + target: "your-site.example.com" + proxy: true # Set to false if you want to disable the Cloudflare proxy + note: "Optional description" +``` + +### 2. Submit a Pull Request +- Ensure that your subdomain entry is in **alphabetical order**. +- Verify that your CNAME target is correct. +- Create a pull request with your changes. + +## Reserved Domains +Some subdomains are **reserved** and cannot be registered. The list includes: +- `www.morlana.page` +- `api.morlana.page` +- `mail.morlana.page` +- Domains matching specific patterns (e.g., `admin.*`, `internal.*`). + +## Automation +Once a pull request is merged, a GitHub Action will: +1. Validate the `domains.yaml` file. +2. Check for duplicate or reserved domains. +3. Update the Cloudflare DNS settings automatically. + +## Setup for Maintainers +### Environment Variables +To enable Cloudflare DNS updates, set the following secrets in Gitea: +- `CLOUDFLARE_API_TOKEN`: API token with DNS write access. +- `CLOUDFLARE_ZONE_ID`: Cloudflare Zone ID for `morlana.page`. + +## License +This project is open-source and licensed under the BSD-3-Clause. +