Files
plate-software-web/README.md
T
pplate 177d5859e1
Deploy to plate-software.de / deploy (push) Failing after 19s
Initial web presence: bilingual landing page + push-to-deploy pipeline
2026-06-22 12:27:29 +02:00

69 lines
2.4 KiB
Markdown

# plate-software.de — Web Presence
Static website for **https://plate-software.de** (the Apache landing page +
any additional static pages/assets). This repo is the single source of truth
for the public web presence.
## How deployment works (push-to-deploy, zero SSH)
```
edit site/ → git push origin main
Gitea Actions (self-hosted runner on TrueNAS)
│ rsync over SSH (dedicated deploy key)
IONOS Apache /var/www/html/ (82.165.206.45)
https://plate-software.de (TLS via Let's Encrypt)
```
Just edit files under [`site/`](site/), commit, and push to `main`.
The [`.gitea/workflows/deploy.yml`](.gitea/workflows/deploy.yml) workflow
`rsync`s the contents of `site/` to the Apache DocumentRoot. **No SSH access
to the server is needed** — the runner holds a dedicated deploy key.
`workflow_dispatch` is also enabled, so you can re-deploy manually from the
Gitea Actions tab without a new commit.
## Repo layout
```
site/ ← everything in here is published to the web root
index.html ← the bilingual (DE/EN) landing page
.gitea/workflows/
deploy.yml ← the push-to-deploy pipeline
```
Add more pages by dropping files into `site/` (e.g. `site/impressum.html`
`https://plate-software.de/impressum.html`). Subfolders work too.
## Safety notes
- **Non-destructive sync.** The workflow uses `rsync` **without** `--delete`,
so other content already living on the server (`downloads/`, `owncloud/`,
`.well-known/`, ACME challenges, old `index.html.bak.*`) is never removed.
If you ever want exact mirroring, add `--delete` — but only after confirming
`site/` is the complete intended web root.
- **Subdomains are separate.** `cannamanage.`, `inspectflow.` and `git.` are
their own apps/proxies (frp → TrueNAS). This repo only owns the root domain's
static files.
## Required secret
`Settings → Actions → Secrets`:
| Secret | Value |
|---|---|
| `IONOS_DEPLOY_KEY` | private ed25519 key whose public half is in `root@82.165.206.45:~/.ssh/authorized_keys` (comment `gitea-actions-plate-software-web`) |
## Local preview
```bash
cd site && python3 -m http.server 8000 # http://localhost:8000
```
The language toggle defaults to German; English shows automatically for
`en-*` browsers, and the choice is remembered in `localStorage`.