Skip to content

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 ForgejoWoodpecker despliega si el merge va a main.

More languages & depth

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:

  1. Forgejo — open git.rafaelgonzalezalbes.com, log in as alex, confirm you see orgs infra and bioscan and repo portfolio.
  2. Woodpecker — open ci.rafaelgonzalezalbes.comSign in with Forgejo → authorize. You should see repos infra/devops and rafael.gonzalez.albes/portfolio.
  3. Plane — accept workspace invite, open Portfolio project issues. Tickets use prefix PORT (e.g. PORT-12).
  4. 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
  1. Pick or create a Plane issue (PORT-… for portfolio, BIOS-… for BioScanCheck later).
  2. Branch: feature/PORT-42-short-description
  3. Push to Forgejo, open PR, title: [PORT-42] Short summary
  4. Wait for Woodpecker green on the PR.
  5. Merge to main → portfolio auto-deploys to rafaelgonzalezalbes.com.
  6. Reference fixes PORT-42 in 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.

  1. Clone infra/devops
  2. Copy templates/cursor-mcp.json.example.cursor/mcp.json
  3. Rafael shares API tokens into your local/.env (not in git)
  4. 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/.env on his machine.
  • If you need a Forgejo personal access token (for MCP or registry): Forgejo → Settings → Applications → Generate token (read:repository, write:repository, read:user as 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