# Morlana Pages Free Subdomain Service ## Overview This repository provides a free subdomain service for the `morlana.page` domain, similar to `js.org`. Users can 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.