4 Commits

Author SHA1 Message Date
tomasz-syn-grzegorza f4775366ef Harden production security: Dockerfile build, nginx whitelist, and CSP.
Replace Dokploy runtime git clone with Dockerfile build to keep tokens out of the container, add nginx security headers and path whitelist, and scrub templates from the running image after HTML generation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 16:58:27 +02:00
tomasz-syn-grzegorza 3a843c53f3 Move template assets to .env-driven generation.
Site metadata, images, favicons, and YouTube settings are now configured via .env and rendered from HTML/manifest templates at dev or container startup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 15:45:04 +02:00
tomasz-syn-grzegorza 833e248518 Add post-video redirect to YouTube URL from env config.
After the intro finishes, users are redirected to POST_VIDEO_REDIRECT_URL loaded via generated config.js for dev, Docker, and Dokploy deployments.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 15:36:38 +02:00
tomasz-syn-grzegorza d565f83490 init: static frontend for agency-ai.dev — nginx + YouTube intro video
Static landing page served via nginx 1.27 Alpine container.
Features:
- Fullscreen background image visible from first paint
- YouTube intro video overlay (iframe API, lazy loaded)
- PWA manifest with favicons (48x48, 180x180, 512x512)
- SEO meta tags (OG, Twitter Cards, canonical URL)
- Safety timeout: falls back to static image if YouTube fails

Infrastructure:
- Dockerfile: nginx 1.27 Alpine with custom default.conf
  (gzip, cache headers, security headers X-Frame-Options/nosniff)
- docker-compose.yml: local dev on FRONTEND_PORT (default 8080)
- docker-compose-example/: Dokploy deployment via runtime git clone
  from Gitea, resource limits (256M RAM, 0.5 CPU)

Files:
- index.html: main page with inline CSS + JS (YouTube iframe API)
- default.conf: nginx config (gzip, caching, security headers)
- site.webmanifest: PWA manifest
- assets/imgs/: background image + favicons
- .env.example: FRONTEND_PORT template
2026-06-26 08:55:39 +00:00