Add Morlana Pages Free Subdomain Service
commit
1ee7f57cae
55
Morlana-Pages-Free-Subdomain-Service.md
Normal file
55
Morlana-Pages-Free-Subdomain-Service.md
Normal file
@ -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.
|
||||||
|
|
Reference in New Issue
Block a user