Files
sendico/ci/prod/compose/frontend.dockerfile
Stephan D 8bf86c5c93
Some checks failed
ci/woodpecker/push/bump_version unknown status
ci/woodpecker/push/billing_fees Pipeline failed
ci/woodpecker/push/chain_gateway Pipeline is pending
ci/woodpecker/push/db Pipeline is pending
ci/woodpecker/push/frontend Pipeline is pending
ci/woodpecker/push/fx_ingestor Pipeline is pending
ci/woodpecker/push/fx_oracle Pipeline is pending
ci/woodpecker/push/ledger Pipeline is pending
ci/woodpecker/push/nats Pipeline is pending
ci/woodpecker/push/notification Pipeline is pending
ci/woodpecker/push/payments_orchestrator Pipeline is pending
ci/woodpecker/push/bff Pipeline failed
removed obsolete files
2025-11-26 19:35:35 +01:00

54 lines
1.3 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM dart:latest AS web_builder
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
curl \
unzip \
xz-utils \
libglu1-mesa \
ca-certificates \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -ms /bin/bash flutteruser
ENV PATH="/home/flutteruser/flutter/bin:${PATH}"
USER flutteruser
WORKDIR /home/flutteruser
RUN git clone --branch stable --depth 1 https://github.com/flutter/flutter.git \
&& flutter config --enable-web \
&& flutter precache --web \
&& flutter upgrade
COPY --chown=flutteruser:flutteruser frontend /home/flutteruser/app
# Build shared package code generation
WORKDIR /home/flutteruser/app/pshared
RUN flutter clean \
&& flutter pub get \
&& dart run build_runner build --delete-conflicting-outputs
# Build the web client
WORKDIR /home/flutteruser/app/pweb
RUN flutter clean \
&& flutter pub get \
&& flutter build web --release --no-tree-shake-icons
FROM caddy:alpine AS runtime
WORKDIR /usr/share/pweb
COPY frontend/pweb/entrypoint.sh /entrypoint.sh
COPY frontend/pweb/caddy/Caddyfile /etc/caddy/Caddyfile
COPY --from=web_builder /home/flutteruser/app/pweb/build/web /usr/share/pweb
RUN chmod +x /entrypoint.sh
EXPOSE 80 443
ENTRYPOINT ["/entrypoint.sh"]