Replace Pico CSS CDN with Tailwind v4 standalone CLI (no Node.js). Brand theme with navy/electric/accent palette, component classes, self-hosted Commit Mono font. Docker multi-stage CSS build. Logo links to dashboard when logged in. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Padelnomics
Plan, finance, and build your padel business.
Development
CSS (Tailwind)
Uses the Tailwind CSS standalone CLI — no Node.js required.
make css-watch # rebuild on file changes (dev)
make css-build # one-off minified build (CI/Docker)
The first run downloads the Tailwind binary to bin/tailwindcss automatically.
Edit src/padelnomics/static/css/input.css for theme tokens, base styles, and component classes. Output is gitignored — Docker builds it in a dedicated stage.
CI/CD:
Go to GitLab → padelnomics → Settings → CI/CD → Variables and add:
┌─────────────────┬────────────────────────────┬───────────────────────────────────────────┐ │ Variable │ Value │ Notes │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ SSH_PRIVATE_KEY │ Your ed25519 private key │ Mask it, type "Variable" │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ DEPLOY_HOST │ Your Hetzner server IP │ e.g. 1.2.3.4 │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ DEPLOY_USER │ SSH username on the server │ e.g. deploy or root │ ├─────────────────┼────────────────────────────┼───────────────────────────────────────────┤ │ SSH_KNOWN_HOSTS │ Server host key │ Run ssh-keyscan $YOUR_SERVER_IP to get it │ └─────────────────┴────────────────────────────┴───────────────────────────────────────────┘
And on the server side (one-time setup):
- Add the matching public key to ~/.ssh/authorized_keys for the deploy user
- Clone the repo to /opt/padelnomics
- Create .env from padelnomics/.env.example with production values
- chmod +x deploy.sh && ./deploy.sh for the first deploy
- Point NPM to port 5000