12 Commits
Author SHA1 Message Date
Andras BacsaiandClaude Opus 5.5 338f1f837f feat(dev): run one isolated dev instance per git branch
Merge scripts/dev-instances into scripts/dev. Each branch gets its own
Compose project, container, volumes, port block, libvirt network, and
KVM VMs, so stop and start reuse the same data and worktrees do not
collide.

- Name instances after the branch; keep slots and APP_KEYs in the main
  checkout's .dev-instances/ so they survive worktree removal
- Reuse existing QEMU VMs instead of recreating them; add dev:qemu --fresh
- Give each instance an isolated libvirt network (10.221.<slot>.0/24)
  and VM names coolify-dev-<branch>--<profile>
- Publish per-instance browser ports and publish them with tailscale
  serve when APP_URL is a tailnet host
- Add urls, exec, logs, container, destroy, and teardown commands; run
  teardown from jean.json before Jean deletes a worktree
- Fix Reverb/terminal browser ports and the testing-host alias in the
  instance compose file
- Keep fresh worktree instances working: pre-create laravel.log, log the
  host dev:qemu call to stderr, and stop Vite from watching vendor/

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:55:49 +02:00
Andras Bacsai f35de6b3b2 feat(dev): support KVM-backed localhost development servers 2026-09-24 13:04:44 +02:00
Andras Bacsai e3ff6bef07 Merge remote-tracking branch 'origin/next' into reverb-realtime-migration 2026-08-18 19:56:33 +02:00
Andras Bacsai e2c2180f4f fix(dev): support root bind mounts and LAN Vite access
Keep the dev container as root for s6 init so composer can create
vendor/ on root-owned mounts, then chown writable paths to www-data.
Move init-setup into a shell script and expose VITE_HOST/PORT for
remote HMR (LAN/Tailscale) with Vite listening on 0.0.0.0.
2026-07-18 20:56:01 +02:00
Andras Bacsai 3a49baad19 feat(realtime): replace Soketi image with bundled Reverb
Run Laravel Reverb and the terminal server inside the Coolify container instead of shipping a separate coolify-realtime image. Update compose files, proxy routing, cleanup behavior, and packaging tests for the embedded realtime services.
2026-06-03 15:43:20 +02:00
Andras Bacsai 426a708374 feat(subscription): display next billing date and billing interval
Add current_period_end to refund eligibility checks and display next billing
date and billing interval in the subscription overview. Refactor the plan
overview layout to show subscription status more prominently.
2026-03-18 15:11:19 +01:00
Andras Bacsai 75d10bb7bf fix(scripts): add jean run 2026-01-09 10:21:02 +01:00
Andras Bacsai 775216e7a5 jean jean 2025-11-07 14:33:32 +01:00
Andras Bacsai 7fd1d799b4 refactor: rename onWorktreeCreate script to setup in jean.json 2025-11-07 14:33:32 +01:00
Andras Bacsai f89c5d2b21 fix: enhance onWorktreeCreate script to include directory creation and settings copy 2025-11-06 12:41:04 +01:00
Andras Bacsai d21ab6e11b fixed jean.json 2025-11-06 09:04:45 +01:00
Andras Bacsai df3dd84dfc rebranded gcool to jean 2025-11-06 09:03:17 +01:00