diff --git a/Dockerfile b/Dockerfile index bf8b4f86..3518e847 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,18 @@ COPY client client WORKDIR /usr/src/client RUN npm run build +# dev image: full source (server incl. test, client) + prebuilt client, for compose.dev.yml +FROM run_base AS dev +WORKDIR /usr/src +COPY common common +COPY client client +COPY server server +WORKDIR /usr/src/client +RUN npm run build +COPY entrypoint.sh /usr/src/server/ +WORKDIR /usr/src/server +ENTRYPOINT ["./entrypoint.sh"] + # run UT FROM run_base AS ut WORKDIR /usr/src/ diff --git a/compose.dev.yml b/compose.dev.yml new file mode 100644 index 00000000..32bfc00d --- /dev/null +++ b/compose.dev.yml @@ -0,0 +1,27 @@ +services: + wheel_dev: + build: + context: . + dockerfile: Dockerfile + target: dev + image: wheel_dev + container_name: wheel_dev + ports: + - "8089:8089" + environment: + + WHEEL_USE_HTTP: 1 + WHEEL_PORT: 8089 + WHEEL_LOG_LEVEL: debug + SSH_CONTROL_PERSIST_DIR: /tmp + volumes: + - ${HOME}:/root + - ./common:/usr/src/common + - ./server/app:/usr/src/server/app + - wheel_dev_public:/usr/src/server/app/public + - ./server/bin:/usr/src/server/bin + - ./client/src:/usr/src/client/src + - ./client/vite.config.ts:/usr/src/client/vite.config.ts + +volumes: + wheel_dev_public: diff --git a/package.json b/package.json index 4624646f..82161f82 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,16 @@ "licenseReport-test": "license-report --package=test/package.json --output=csv --csvHeaders --config license-report-config.json", "licenseReport-client": "license-report --package=client/package.json --output=csv --csvHeaders --config license-report-config.json", "prepare": "husky install", - "md-to-pdf": "npx md-to-pdf --stylesheet https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css --body-class markdown-body" + "md-to-pdf": "npx md-to-pdf --stylesheet https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/2.10.0/github-markdown.min.css --body-class markdown-body", + "docker:dev:build": "docker compose -f compose.dev.yml build", + "docker:dev:up": "docker compose -f compose.dev.yml up -d", + "docker:dev": "run-s docker:dev:build docker:dev:up", + "docker:dev:down": "docker compose -f compose.dev.yml down", + "docker:dev:down-clean": "docker compose -f compose.dev.yml down -v", + "docker:dev:restart-server": "docker compose -f compose.dev.yml restart wheel_dev", + "docker:dev:rebuild-server": "run-s docker:dev:build docker:dev:up", + "docker:dev:rebuild-client": "docker compose -f compose.dev.yml exec wheel_dev sh -c \"cd /usr/src/client && npm run build\"", + "docker:dev:logs": "docker compose -f compose.dev.yml logs -f wheel_dev" }, "devDependencies": { "@eslint/js": "^8.57.1", diff --git a/server/app/db/version.json b/server/app/db/version.json index 0144ea53..cf9a4daa 100644 --- a/server/app/db/version.json +++ b/server/app/db/version.json @@ -1 +1 @@ -{"version": "2026-0316-150937" } \ No newline at end of file +{"version": "2026-0702-151336" } \ No newline at end of file