Boban Blaskovic
78edcef3da
Page: Signup Glass — Volt + Pest tests + CSS additions
...
- pages/auth/register: full re-port of CluPilot Signup Glass.html
with 3-step stepper, SSO, name+email+workspace+password form,
live slug preview, password meter (4 rules), terms checkbox,
right-pane trial card + 4-benefit list + customer quote + logo strip.
- CSS additions: clu-stepper, clu-field-row, clu-input-suffix,
clu-slug-preview, clu-pw-meter, clu-pw-rules, clu-trial-*,
clu-benefit-*, clu-quote-*, clu-avatar, clu-logos.
- tests/Feature/Auth/SignupPageTest.php: 6 tests, all green
(renders chrome, slug preview, empty-form rejects, weak password,
creates user + logs in, duplicate email).
2026-05-31 22:22:32 +02:00
Boban Blaskovic
5287b0024d
Foundation + Login Glass page from template
...
- Tailwind theme tokens rewritten to match template light-glass design
(color-fg / muted / accent / glass / hairline + radii + animations).
- Component classes: clu-glass, clu-brand-mark, clu-status-chip, clu-sso-btn,
clu-input, clu-btn-primary, clu-alt-btn, clu-checkbox, clu-stat, clu-term-*,
clu-live-tag, clu-pill.
- layouts/login.blade.php: clu-bg-aurora body, @stack('scripts') for page JS.
- pages/auth/login: full re-port of templates/akutell/CluPilot Login Glass.html:
two-col grid, SSO buttons, e-mail+password with eye toggle (Alpine),
remember checkbox, magic-link/passkey alt buttons, footer with TLS info,
right-side live cluster panel with stat strip, animated terminal, live tags.
- Pest installed (pest, pest-plugin-laravel, pest-plugin-livewire).
- tests/Pest.php with RefreshDatabase binding.
- tests/Feature/Auth/LoginPageTest.php: 5 tests, all green
(renders chrome, mounts Volt, rejects empty, authenticates, rejects invalid).
- 12 design templates committed to templates/akutell/.
2026-05-31 22:18:51 +02:00
Boban Blaskovic
2c787a2523
Add image-only compose for Portainer Repository deploys (no buildkit)
2026-05-31 21:40:46 +02:00
Boban Blaskovic
1cf91e2f32
nginx healthcheck: 127.0.0.1 instead of localhost (only IPv4 listener)
2026-05-31 21:18:06 +02:00
Boban Blaskovic
1c8bab0f04
nginx: extra_hosts host-gateway for vite HMR upstream; gitignore root .env
...
nginx config has static upstream pointing at host.docker.internal:5173 for
Vite dev server. Without extra_hosts the DNS lookup fails at nginx startup
and crashes the container. Added back, harmless in prod (upstream just unused).
2026-05-31 21:01:28 +02:00
Boban Blaskovic
fb0fc26a21
Version-pin images: APP_VERSION for own builds, MARIADB/REDIS for services
...
No more :latest. Per-stack env vars set the version; prod uses Git tags,
dev uses 'dev' (rebuilt each push).
2026-05-31 18:17:09 +02:00
Boban Blaskovic
fa84fac440
Skip composer scripts during build; defer package:discover to entrypoint
...
Build container has no .env / runtime config, so post-autoload-dump's
package:discover step failed. Run discovery at container start instead.
2026-05-31 18:05:05 +02:00
Boban Blaskovic
87f41387ce
Bake app into multi-stage image; drop bind mounts for Portainer remote endpoint
...
- New root Dockerfile: composer-deps + node-build + assembled code stages,
final PHP-FPM and nginx targets both built from same context.
- docker-compose.yml: all services build/use baked images. No ./app or
config bind mounts (broke with Portainer on VM-A + Docker daemon on VM-B).
- app-storage named volume preserves Laravel storage across redeploys.
- Laravel env passed via x-php-env anchor from stack env vars.
- Removed per-service docker/php/Dockerfile and docker/nginx/Dockerfile.
- entrypoint.sh: touch .env, ensure storage dirs, idempotent storage:link.
2026-05-31 17:44:35 +02:00
Boban Blaskovic
6681df5a10
nginx: bake config into custom image (no single-file bind mount)
2026-05-31 17:28:17 +02:00
boban
33aac5c852
stack.env.example aktualisiert
2026-05-31 17:23:31 +02:00
Boban Blaskovic
67598ab649
Portainer-ready compose stack + app changes
2026-05-31 17:04:03 +02:00
Boban Blaskovic
624b21fcb9
Initial CluPilot stack setup
...
Laravel 12 + Livewire v3 + Tailwind v4 + Reverb WebSocket
behind Nginx Proxy Manager (external SSL termination, HTTP-only internal).
MariaDB 11, Redis 7, Mailpit. Dark auth views.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 23:00:14 +02:00