From 5dc5df7b62045fd99c4fa4277505ab58ed1f6c62 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 11 Sep 2021 16:24:51 +0000 Subject: [PATCH 1/4] feat: Provide simple Dockerfile --- Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..0c75ad931 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# Based upon https://github.com/Starbix/dockerimages/commit/b0c3e408263a90ee467d30aed0e855a610eb537a + +FROM cirrusci/flutter:stable AS builder + +RUN mkdir /fluffychat +WORKDIR /fluffychat + +COPY ./ /fluffychat +RUN ./scripts/prepare-web.sh + +RUN flutter build web --release + +FROM nginx:alpine + +COPY --from=builder /fluffychat/build/web/ /usr/share/nginx/html +COPY --from=builder /fluffychat/config.sample.json /usr/share/nginx/html/config.json From 84d41d2d46192afdc545535cd5a1a274f91668cb Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 11 Sep 2021 16:27:17 +0000 Subject: [PATCH 2/4] feat: Build Docker image in CI --- .gitlab-ci.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e17b28b2e..6a9d58c3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -261,3 +261,46 @@ release: --assets-link "{\"name\":\"fluffychat-linux-arm64.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz\"}" \ --assets-link "{\"name\":\"fluffychat-windows.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip\"}" \ --assets-link "{\"name\":\"fluffychat-web.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz\"}" + +.docker: &docker_template + image: docker:latest + tags: + - docker + - famedly + stage: deploy + services: + - docker:dind + +docker-releases: + <<: *docker_template + script: + - docker build --pull -t "${CI_REGISTRY_IMAGE}:latest" -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}" . + - docker push "${CI_REGISTRY_IMAGE}:latest" + - docker push "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}" + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/' + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + +docker-tags: + <<: *docker_template + script: + - docker build --pull -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}" . + - docker push "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}" + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_TAG !~ /^v\d+\.\d+\.\d+$/' + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + +docker-branches: + <<: *docker_template + script: + - docker build --pull -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}" -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}" . + - docker push "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG}" + rules: + - if: $CI_COMMIT_TAG == null + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + allow_failure: true + + From c96109973574999fcbef0ce25b558c366d5855a7 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 11 Sep 2021 17:01:11 +0000 Subject: [PATCH 3/4] fix: Use script to build web version --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0c75ad931..97c58f0db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,9 @@ RUN mkdir /fluffychat WORKDIR /fluffychat COPY ./ /fluffychat -RUN ./scripts/prepare-web.sh -RUN flutter build web --release +RUN ./scripts/prepare-web.sh +RUN ./scripts/build-web.sh FROM nginx:alpine From 2aa1bc55025a5c2094ad541733af29286be06230 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 12 Sep 2021 09:55:33 +0000 Subject: [PATCH 4/4] fix: Use correct base image in Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 97c58f0db..8379640b6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Based upon https://github.com/Starbix/dockerimages/commit/b0c3e408263a90ee467d30aed0e855a610eb537a -FROM cirrusci/flutter:stable AS builder +FROM cirrusci/flutter:2.2.3 AS builder RUN mkdir /fluffychat WORKDIR /fluffychat