This repository has been archived on 2025-05-15. You can view files and clone it, but cannot push or open issues or pull requests.
morlana-pages/README.md
Florian f4b04bd3f4
Some checks failed
Deploy Jekyll site to Pages / build (push) Has been cancelled
Update Cloudflare DNS / update-dns (push) Has been cancelled
Improving readme
2025-03-02 23:36:18 +01:00

56 lines
2.0 KiB
Markdown

# 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.