Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 3s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 3s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 3s
- omsorgapp now reads the omsorgCore URL from a runtime env-config.js generated by the container entrypoint from OMSORG_CORE_URL, instead of only baking it in at image build time - docker-compose.yml pulls pre-built images from the registry, so a build-time-only value couldn't be changed without a rebuild. - docker-compose.yml: omsorgCore gets its own subdomain (core.omsorg-pflegedienste.de) rather than being proxied under the frontend's domain - omsorgWeb never needs browser-side access to it anyway (server-side cURL only), and a dedicated API host is more future-proof without being any less secure (backend still only bound to 127.0.0.1). Includes the nginx server-block snippet needed for the new subdomain. - Drop the now-unused OMSORG_CORE_PUBLIC_URL build-arg wiring from the Gitea Actions workflow. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
1.3 KiB
Docker
31 lines
1.3 KiB
Docker
# Build-Kontext ist der Repo-Root (siehe .gitea/workflows/docker-build.yml und docker-compose.yml).
|
|
FROM node:20-alpine AS build
|
|
WORKDIR /app
|
|
|
|
# omsorgcore-client-ts (file:./api-client-ts) hat seinen dist/-Ordner NICHT eingecheckt
|
|
# (siehe omsorgapp/api-client-ts/ANLEITUNG.md) - muss hier zuerst gebaut werden, sonst schlägt
|
|
# der spätere `import ... from "omsorgcore-client-ts"` in omsorgapp fehl.
|
|
COPY omsorgapp/api-client-ts ./api-client-ts
|
|
RUN cd api-client-ts && npm ci && npm run build
|
|
|
|
COPY omsorgapp/package.json omsorgapp/package-lock.json ./
|
|
RUN npm ci
|
|
|
|
COPY omsorgapp/ .
|
|
|
|
# Fallback für lokale/CI-Builds ohne Container (npm run dev/build) - im Container selbst
|
|
# entscheidet ausschließlich die Laufzeit-Env-Var OMSORG_CORE_URL (siehe docker-entrypoint.sh),
|
|
# da dieses Image aus der Registry gezogen und per docker-compose.yml konfiguriert wird, nicht
|
|
# pro Zielumgebung neu gebaut (siehe src/api/config.js).
|
|
ARG VITE_OMSORG_CORE_URL=http://localhost:8080
|
|
ENV VITE_OMSORG_CORE_URL=$VITE_OMSORG_CORE_URL
|
|
RUN npm run build
|
|
|
|
FROM nginx:1.27-alpine AS runtime
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
COPY omsorgapp/nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY omsorgapp/docker-entrypoint.sh /docker-entrypoint.sh
|
|
RUN chmod +x /docker-entrypoint.sh
|
|
EXPOSE 80
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|