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
54 lines
1.3 KiB
Docker
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"]
|