Files
crewli/deploy/README.md
bert.hausmans 28727f246b chore: remove admin SPA and update to two-app production setup
Remove apps/admin/ entirely — platform admin functionality now lives
in apps/app/ under /platform/* routes for super_admin users.

Production URL scheme changed:
- Organizer app: crewli.app (was app.crewli.app)
- Portal: portal.crewli.app (unchanged)
- API: api.crewli.app (unchanged)
- admin.crewli.app and app.crewli.app retired

Backend:
- Removed FRONTEND_ADMIN_URL config and admin cookie (crewli_admin_token)
  from SetAuthCookie, CookieBearerToken, cors.php, app.php
- Updated .env and .env.example (two origins, no port 5173)
- Updated cookie test: admin origin test → unknown origin fallback test

Infrastructure:
- Makefile: removed admin target
- deploy/nginx: updated CSP comment, removed admin vhost
- Updated README.md, CLAUDE.md, and all dev-docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 08:44:10 +02:00

58 lines
1.4 KiB
Markdown

# Crewli Deployment — Security Configuration
## Nginx Security Headers
Copy the configuration snippets to your Nginx server:
### API (api.crewli.app)
```nginx
server {
server_name api.crewli.app;
include /path/to/deploy/nginx/security-headers.conf;
include /path/to/deploy/nginx/csp-api.conf;
# ... rest of config
}
```
### Organizer App (crewli.app)
```nginx
server {
server_name crewli.app;
include /path/to/deploy/nginx/security-headers.conf;
include /path/to/deploy/nginx/csp-spa.conf;
# ... rest of config
}
```
### Portal (portal.crewli.app)
```nginx
server {
server_name portal.crewli.app;
include /path/to/deploy/nginx/security-headers.conf;
include /path/to/deploy/nginx/csp-portal.conf;
# ... rest of config
}
```
## CSP Rollout Process
1. Start with `Content-Security-Policy-Report-Only` (uncomment in `csp-spa.conf`)
2. Monitor browser console for CSP violations for 1-2 weeks
3. Add any missing sources to the policy
4. Switch to enforcing `Content-Security-Policy`
5. Monitor for false positives after enforcement
## DirectAdmin Integration
If using DirectAdmin with Nginx:
1. Place the `.conf` files in `/usr/local/directadmin/data/users/USERNAME/nginx.conf`
or use DirectAdmin's custom Nginx configuration feature
2. Reload Nginx: `service nginx reload`
3. Verify headers: `curl -I https://crewli.app | grep -i security`