From fa9a0569fb704793420d8c487186d03097c4f22e Mon Sep 17 00:00:00 2001 From: doman Date: Sun, 30 Jul 2023 00:10:33 +0200 Subject: [PATCH] docker --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 11 +++++++++++ 2 files changed, 49 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8f9c242 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +# BUILD +FROM debian:stable-slim AS build-env + +RUN apt-get update && apt-get install -yq curl file git unzip xz-utils zip && rm -rf /var/lib/apt/lists/* + +RUN useradd -m flutter +RUN groupadd flutterusers +RUN usermod -aG flutterusers flutter +RUN mkdir /opt/flutter && chown -R flutter:flutter /opt/flutter +USER flutter +WORKDIR /home/flutter + +RUN git clone https://github.com/flutter/flutter.git /opt/flutter +ENV PATH $PATH:/opt/flutter/bin +RUN flutter config --no-analytics --enable-web --no-enable-android --no-enable-ios +RUN flutter precache --web +RUN flutter create --platforms web dummy && rm -rf dummy + +COPY . /home/flutter +USER root +RUN chown -R flutter:flutter /home/flutter +USER flutter +WORKDIR /home/flutter +RUN flutter build web + +# DEPLOY +FROM node:16.14-alpine + +COPY --from=build-env /home/flutter/build/web /app/ + +WORKDIR /app/ + +RUN apk --no-cache add curl +RUN npm install --global http-server + +EXPOSE 80 + +CMD ["npx", "http-server", "-p", "80"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bd74f27 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3' + +services: + app: + restart: unless-stopped + image: app + build: + dockerfile: Dockerfile + context: . + ports: + - "8000:80"