Team onboarding (Alex)¶
Welcome. This page is your start here guide for the self-hosted platform Rafael set up. Use it when reviewing docs.rafaelgonzalezalbes.com or joining day-to-day work.
Resumen rápido
Tienes acceso a git, ci, pm, status y docs (subdominios de rafaelgonzalezalbes.com).
El flujo diario: ticket en Plane → rama feature/PORT-N-... → PR en Forgejo → Woodpecker despliega si el merge va a main.
More languages & depth
- Español (completo): Guía de inicio (español)
- Passwords & how apps connect: Secrets & connections
Bookmark these URLs¶
| Service | URL | Login |
|---|---|---|
| Docs (this site) | docs.rafaelgonzalezalbes.com | No login (team-only URL, not indexed by Google) |
| Git (Forgejo) | git.rafaelgonzalezalbes.com | Username alex + your password |
| CI (Woodpecker) | ci.rafaelgonzalezalbes.com | Sign in with Forgejo (same alex account) |
| Issues (Plane) | pm.rafaelgonzalezalbes.com | Invite email from Rafael |
| Monitoring (Uptime Kuma) | status.rafaelgonzalezalbes.com | Login (credentials from Rafael) |
| Public portfolio | rafaelgonzalezalbes.com | Public — no login |
Your access (what you can do)¶
| Area | Your role |
|---|---|
Forgejo org infra |
Admin — platform repo infra/devops |
Forgejo org bioscan |
Admin — app repos (e.g. bioscancheck) |
Repo rafael.gonzalez.albes/portfolio |
Write + review PRs |
| Woodpecker | Admin (with Rafael) — see all pipelines |
Plane workspace rafael-gonzalez-albes |
Member — create/move tickets |
| VPS SSH | Optional — Linux user alex.rodriguez.vera if Rafael shared your SSH key |
You and Rafael are the only platform users. Registration is disabled everywhere.
First login checklist¶
Do these once:
- Forgejo — open git.rafaelgonzalezalbes.com, log in as
alex, confirm you see orgsinfraandbioscanand repoportfolio. - Woodpecker — open ci.rafaelgonzalezalbes.com → Sign in with Forgejo → authorize. You should see repos
infra/devopsandrafael.gonzalez.albes/portfolio. - Plane — accept workspace invite, open Portfolio project issues. Tickets use prefix
PORT(e.g.PORT-12). - Uptime Kuma — log in at status.rafaelgonzalezalbes.com and skim monitors (git, ci, pm, docs, portfolio site).
Woodpecker after repo goes private
If CI clone fails with exit 128, tell Rafael — usually fixed by refreshing OAuth + syncing the repo private flag. See Access control.
How we work (daily flow)¶
flowchart LR
Plane[Plane ticket PORT-N] --> Branch["branch feature/PORT-N-slug"]
Branch --> PR[Forgejo PR]
PR --> CI[Woodpecker build + test]
CI -->|merge main| Deploy[SFTP to IONOS]
CI -->|comment| Plane
- Pick or create a Plane issue (
PORT-…for portfolio,BIOS-…for BioScanCheck later). - Branch:
feature/PORT-42-short-description - Push to Forgejo, open PR, title:
[PORT-42] Short summary - Wait for Woodpecker green on the PR.
- Merge to
main→ portfolio auto-deploys to rafaelgonzalezalbes.com. - Reference
fixes PORT-42in the squash commit to close the ticket.
Full rules: Team workflow.
Repos to clone¶
# Portfolio (React + Vite) — main app in active CI
git clone https://git.rafaelgonzalezalbes.com/rafael.gonzalez.albes/portfolio.git
# Platform / DevOps (docs, scripts, docker) — ask Rafael before changing
git clone https://git.rafaelgonzalezalbes.com/infra/devops.git
# BioScanCheck app — product code (CI/CD deferred for now)
git clone https://git.rafaelgonzalezalbes.com/bioscan/bioscancheck.git
Use your Forgejo username + password, or set up an SSH key in Forgejo → Settings → SSH keys.
Local setup (your PC)¶
Minimum (portfolio work)¶
cd portfolio
npm install
npm run dev # http://localhost:5173
npm test
npm run lint
Optional — platform / deploy scripts (Windows + WSL)¶
cd infra-devops
cp local/.env.example local/.env # Rafael fills secrets — never commit
bash scripts/setup-local-ssh.sh # adds ssh config host bioscan-vps
After that: ssh bioscan-vps for read-only server checks.
Optional — Cursor MCP (AI agents)¶
Lets Cursor create Plane tickets, list PRs, check CI logs. See MCP overview.
- Clone
infra/devops - Copy
templates/cursor-mcp.json.example→.cursor/mcp.json - Rafael shares API tokens into your
local/.env(not in git) npm run mcp:build --prefix mcp-server
What is live today¶
| Project | CI/CD | Deploy target | Plane prefix |
|---|---|---|---|
| Portfolio | Yes — green on main |
IONOS → public site | PORT |
| infra/devops | Yes — platform auto-deploy | VPS /opt/devops |
— |
| BioScanCheck | Planned | VPS + IONOS later | BIOS |
Docs site — what to review¶
When checking this documentation site, useful pages:
| Page | Why |
|---|---|
| Secrets & connections | Passwords, Woodpecker secrets, how apps talk to each other |
| Team workflow | Branch names, PR rules, CI steps |
| Access control | Who can see what; public vs private |
| Portfolio | How portfolio deploy works |
| Onboard project | Adding a new app later |
| MCP overview | Cursor integration |
| Monitoring | Uptime Kuma monitors |
Sanity checks:
- [ ] Home page and sidebar search work
- [ ] Mermaid diagrams render (Architecture, Portfolio deploy)
- [ ] Links to
git.*,ci.*,pm.*open correctly - [ ] Spanish tip on this page displays (Material admonition)
Kanban columns (Plane)¶
All projects use the same board:
Backlog → Ready → In Progress → In Review → CI Green → QA → Done
- In Review — PR open
- CI Green — Woodpecker passed
- Done — merged and deployed
Secrets and security¶
- Never commit
.env, SFTP passwords, API keys, or SSH private keys. - Rafael holds Woodpecker repo secrets and
local/.envon his machine. - If you need a Forgejo personal access token (for MCP or registry): Forgejo → Settings → Applications → Generate token (
read:repository,write:repository,read:useras needed). - Platform subdomains send
X-Robots-Tag: noindex— they won't appear in Google, but URLs still work if you have them.
Full guide: Secrets & connections — where every password lives, Woodpecker secret names, service diagrams, troubleshooting.
Get help¶
| Need | Contact |
|---|---|
| Forgejo / Woodpecker / Plane login | Rafael |
| Woodpecker secrets, SFTP, VPS SSH | Rafael |
| Plane invite or project access | Rafael |
| Broken CI after infra change | Rafael — or runbook Access control |
Related pages¶
- Access control — full lockdown + Alex admin scripts
- Architecture overview — big picture diagram
- DNS — subdomain → VPS map