feat: ship phase 1 surface area (v0.2.0)

- primora CLI + @primora/mcp server over generated client
- auth users admin panel, mobile bottom nav
- release workflow: GHCR images, compiled binaries, npm tarballs
- fix gzip Content-Length truncation, nginx upstream re-resolution

Authored By: TDvorak <[email protected]>

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Tomas DvorakandDevin committed 2026-09-16 14:04:43 +02:00
1 parent f77823ad90
commit 420502eec1
90 files changed
+9172 -9718

No files matched your search

+25 -13
View File
@@ -4,8 +4,14 @@ server {
client_max_body_size 256m;
# Resolve upstream hostnames via Docker's embedded DNS on every request —
# container IPs change on restart, and nginx otherwise caches the
# startup-time resolution forever (stale upstream → 502).
resolver 127.0.0.11 valid=10s ipv6=off;
location /api/ {
proxy_pass http://backend:8080;
set $upstream http://backend:8080;
proxy_pass $upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -14,7 +20,19 @@ server {
}
location /auth/ {
proxy_pass http://auth:3001/auth/;
set $upstream http://auth:3001;
proxy_pass $upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location = /auth-health {
set $upstream http://auth:3001;
rewrite ^/auth-health$ /health break;
proxy_pass $upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -23,16 +41,9 @@ server {
}
location /mailpit/ {
proxy_pass http://mailpit:8025/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /auth-health {
proxy_pass http://auth:3001/health;
set $upstream http://mailpit:8025;
rewrite ^/mailpit/?(.*)$ /$1 break;
proxy_pass $upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
@@ -41,7 +52,8 @@ server {
}
location / {
proxy_pass http://frontend:80;
set $upstream http://frontend:80;
proxy_pass $upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;