feat: prepare QuaK for cloud deployment - #169
Conversation
| SPRING_DATASOURCE_PASSWORD: hello | ||
| SPRING_DATASOURCE_PASSWORD: ${MARIADB_ROOT_PASSWORD:-hello} | ||
| SPRING_JPA_HIBERNATE_DDL_AUTO: update | ||
| FRONTEND_URL: http://localhost:8080 |
There was a problem hiding this comment.
Das sollte noch raus oder? Bzw. dann aus den environments die korrekte URL ziehen
| image: "mariadb:latest" | ||
| restart: always | ||
| environment: | ||
| MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-hello} |
There was a problem hiding this comment.
Vielleicht brauchen wir mal n ordentliches Pw xD
There was a problem hiding this comment.
Hier gibts extrem viele SonarQube Warnings, hast du dir die mal angesehen?
|
|
||
| # Keep the OpenTelemetry Java agent available for opt-in instrumentation. | ||
| # Deployments can activate it with JAVA_TOOL_OPTIONS=-javaagent:/app/opentelemetry-javaagent.jar. | ||
| RUN wget -q https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar -O /app/opentelemetry-javaagent.jar |
There was a problem hiding this comment.
Hier sollten wir die Version von opentelemetry pinnen oder? Damit man das besser nachvollziehen und reproduzieren kann
| */ | ||
|
|
||
| const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://localhost:8080'; | ||
| const API_BASE_URL = import.meta.env.VITE_API_URL ?? (import.meta.env.DEV ? 'http://localhost:8080' : ''); |
There was a problem hiding this comment.
Was mir hier auffällt, hast du das auch für die websocket urls umgestellt? Müsste in der UseLSP hook zu finden sein
|
Ich hab grad nochmal nachgeschaut, der LSP Setup sollte denke auch wie die api.ts angepasst werden. Der steht aktuell noch auf const Du findest die Stelle unter |
Production deployments must fail early when security-sensitive settings are
missing and support same-origin routing behind a reverse proxy.
- require MARIADB_ROOT_PASSWORD and FRONTEND_URL during Compose interpolation
- add a production environment template and exclude local secrets from Git
and Docker build contexts
- document production configuration, startup, and database migration steps
- select ws or wss automatically based on the page protocol
- replace the NodeSource pipe-to-shell installer with Gradle-managed
Node 22.23.2
- pin the optional OpenTelemetry Java agent to version 2.30.0
- add tests for REST and WebSocket URL resolution
BREAKING CHANGE: production Compose requires MARIADB_ROOT_PASSWORD and
FRONTEND_URL. Set both in .env.prod and start Compose with
--env-file .env.prod.
|



Summary
This PR prepares QuaK for deployment while keeping infrastructure-specific configuration outside the application repository.
Changes
VITE_API_URLand same-origin API requests in productionDatabase migration
The development Compose volume previously mounted
dbat/var/lib/data, while MariaDB stores its database files in/var/lib/mysql. Existing data may therefore be stored only in the current container's writable layer.Updating the Compose configuration can recreate the database container and start with an empty database. Back up installations containing important data before updating or recreating the container:
After updating and starting the new database container, restore the backup:
Do not remove or recreate the existing database container before creating the backup.
Verification
Related to #125