Browser-Tab-Manager/dist/browser-tab-manager/Dockerfile

52 lines
No EOL
1 KiB
Docker

FROM debian:bullseye-slim AS builder
# Install dependencies
RUN apt-get update && apt-get install -y \
curl \
git \
unzip \
xz-utils \
&& rm -rf /var/lib/apt/lists/*
# Create flutter user
RUN useradd -m -u 1000 flutter
# Switch to flutter user
USER flutter
# Install Flutter
RUN git clone https://github.com/flutter/flutter.git /home/flutter/flutter -b stable --depth 1
ENV PATH="/home/flutter/flutter/bin:${PATH}"
# Configure Flutter
RUN flutter config --no-analytics && \
flutter config --enable-web && \
flutter precache --web
# Set working directory
WORKDIR /home/flutter/app
# Copy project files
COPY --chown=flutter:flutter . .
# Enable web for this project
RUN flutter create . --platforms web
# Get dependencies
RUN flutter pub get
# Build web app
RUN flutter build web --release
# Production stage
FROM nginx:alpine
# Copy built web app
COPY --from=builder /home/flutter/app/build/web /usr/share/nginx/html
# Copy nginx config
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]