**Backend (config.py):** - Add dynamic template loading from USER_TEMPLATE_IMAGES (.env) - Add template metadata loading from templates.json - Implement automatic type extraction from image names - Remove hardcoded template definitions (dev/prod) - Maintain legacy USER_TEMPLATE_IMAGE for backward compatibility **Configuration:** - Add templates.json with metadata for template-01, template-02, template-next - Update .env.example with new USER_TEMPLATE_IMAGES variable (semicolon-separated) - Document automatic template type extraction **Installation (install.sh):** - Implement auto-detection for all user-template-* directories - Replace hardcoded template builds with dynamic loop - Calculate TOTAL_BUILDS dynamically - Add special handling for Next.js templates **Documentation:** - Move MVP_DEPLOYMENT_GUIDE.md to docs/install/DEPLOYMENT_GUIDE.md - Add "Dynamic Template System" section to CLAUDE.md - Update docs/install/README.md with Quick Links and dynamic system info - Add references to deployment guide in CLAUDE.md **Templates:** - Reorganize user-template/ → user-template-01/ (Nginx Basic) - Add user-template-02/ (Nginx Advanced) - Keep user-template-next/ unchanged **Benefits:** - Unlimited number of templates (no longer hardcoded to 2) - Metadata-driven display in dashboard - Automatic image discovery and building - Extensible without code changes Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
23 lines
586 B
Docker
23 lines
586 B
Docker
FROM nginxinc/nginx-unprivileged:alpine
|
|
|
|
# Wechsel zu root um Pakete zu installieren
|
|
USER root
|
|
|
|
# gettext für envsubst installieren
|
|
RUN apk add --no-cache gettext
|
|
|
|
# HTML-Template kopieren
|
|
COPY index.html /usr/share/nginx/html/index.html.template
|
|
|
|
# Nginx-Konfiguration kopieren
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# Entrypoint Script kopieren und executable machen
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh && \
|
|
chmod 777 /usr/share/nginx/html
|
|
|
|
EXPOSE 8080
|
|
|
|
# Entrypoint Script starten (läuft als root, startet Nginx)
|
|
ENTRYPOINT ["/entrypoint.sh"] |