recipe-maintainer: public snapshot (secrets + deployment plans removed, single commit)
Sanitized single-commit public mirror of recipe-maintainer. - Removed test-ssh/.testenv (live creds); added test-ssh/.testenv.example placeholders. - Removed plans/ and planned-updates/ (deployment-planning docs) so no client/ deployment domains appear in the public repo. - All other secret stores were already gitignored. - docs.coopcloud.tech retained as a submodule (public upstream).
This commit is contained in:
1
recipe-info/custom-html/recipe.toml
Normal file
1
recipe-info/custom-html/recipe.toml
Normal file
@ -0,0 +1 @@
|
||||
name = "custom-html"
|
||||
43
recipe-info/custom-html/setup.md
Normal file
43
recipe-info/custom-html/setup.md
Normal file
@ -0,0 +1,43 @@
|
||||
# Custom HTML — First-Time Setup
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- DNS: `custom-html.<DOMAIN_SUFFIX>` must resolve to the server
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Create the app:**
|
||||
```bash
|
||||
abra app new custom-html --server <SERVER> --domain custom-html.<DOMAIN_SUFFIX> --no-input
|
||||
```
|
||||
|
||||
2. **Deploy:**
|
||||
```bash
|
||||
abra app deploy custom-html.<DOMAIN_SUFFIX> --chaos --force --no-input
|
||||
```
|
||||
No secrets required.
|
||||
|
||||
3. **Copy your HTML content:**
|
||||
```bash
|
||||
abra app cp custom-html.<DOMAIN_SUFFIX> index.html app:/usr/share/nginx/html
|
||||
```
|
||||
|
||||
4. **Verify:** curl `https://custom-html.<DOMAIN_SUFFIX>` returns HTTP 200.
|
||||
|
||||
## Optional: SSH/SFTP uploads
|
||||
|
||||
To allow SFTP file management, edit the app env file and uncomment:
|
||||
```
|
||||
COMPOSE_FILE="$COMPOSE_FILE:compose.sftp.yml"
|
||||
PUBLIC_KEY="ssh-ed25519 AAAA... user@host"
|
||||
```
|
||||
Then redeploy. Connect via `ssh -p 2220 sftp@custom-html.<DOMAIN_SUFFIX>`.
|
||||
|
||||
## Optional: Git-pull from a repo
|
||||
|
||||
Uncomment in the env file:
|
||||
```
|
||||
COMPOSE_FILE="$COMPOSE_FILE:compose.git-pull.yml"
|
||||
GIT_REPO_URL="https://..."
|
||||
CRON_SCHEDULE="*/5 * * * *"
|
||||
```
|
||||
14
recipe-info/custom-html/test.md
Normal file
14
recipe-info/custom-html/test.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Custom HTML Tests
|
||||
|
||||
## Target
|
||||
|
||||
- **URL:** https://custom-html.<DOMAIN_SUFFIX>
|
||||
|
||||
## Automated Checks
|
||||
|
||||
- `health_check.py` — Confirms the instance is reachable and returns HTTP 200.
|
||||
|
||||
## Manual Verification
|
||||
|
||||
1. Open https://custom-html.<DOMAIN_SUFFIX> in a browser.
|
||||
2. Confirm the nginx default page (or custom HTML content) loads without errors.
|
||||
28
recipe-info/custom-html/tests/health_check.py
Normal file
28
recipe-info/custom-html/tests/health_check.py
Normal file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Health check for custom-html."""
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
from utils.tests.helpers import http_get, resolve_domain
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--domain', default=os.environ.get('TEST_DOMAIN'))
|
||||
args = parser.parse_args()
|
||||
domain = args.domain or resolve_domain('custom-html')
|
||||
url = f"https://{domain}"
|
||||
|
||||
print(f"Checking custom-html at {url} ...")
|
||||
status, _ = http_get(url)
|
||||
if status == 200:
|
||||
print(f"PASS: custom-html returned HTTP {status}")
|
||||
else:
|
||||
print(f"FAIL: custom-html returned HTTP {status} (expected 200)")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
14
recipe-info/custom-html/upstream.md
Normal file
14
recipe-info/custom-html/upstream.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Custom HTML Upstream
|
||||
|
||||
## Main Project
|
||||
|
||||
- **Recipe:** https://git.coopcloud.tech/coop-cloud/custom-html
|
||||
- **nginx:** https://nginx.org
|
||||
|
||||
## Images
|
||||
|
||||
| Service | Image | Release Notes |
|
||||
|---------|-------|---------------|
|
||||
| app | `nginx` | https://nginx.org/en/CHANGES |
|
||||
| git | `alpine/git` | https://github.com/alpine-docker/git/releases |
|
||||
| ssh | `linuxserver/openssh-server` | https://github.com/linuxserver/docker-openssh-server/releases |
|
||||
Reference in New Issue
Block a user