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