From dee662705e639ead775c62da4ae408625c5338d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=ED=8C=8C=EB=A7=81?= <paring@pikokr.dev>
Date: Wed, 8 Feb 2023 17:59:10 +0900
Subject: [PATCH] fix docker health check (#9810)

* fix(healthcheck): use default commands instead of yq

this removes yq command and uses grep and awk to get port

* fix: use correct config file

* fix: install curl in runner instead of builder

* fix: remove unused packages
---
 Dockerfile     | 7 ++-----
 healthcheck.sh | 2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 89a8d38f8c..0bfd24bd9a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,9 +8,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
 	; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \
 	&& apt-get update \
 	&& apt-get install -yqq --no-install-recommends \
-	build-essential wget ca-certificates \
-	&& wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq \
-	&& chmod +x /usr/bin/yq
+	build-essential
 
 RUN corepack enable
 
@@ -44,7 +42,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
 	; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \
 	&& apt-get update \
 	&& apt-get install -y --no-install-recommends \
-	ffmpeg tini \
+	ffmpeg tini curl \
 	&& corepack enable \
 	&& groupadd -g "${GID}" misskey \
 	&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
@@ -54,7 +52,6 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
 USER misskey
 WORKDIR /misskey
 
-COPY --from=builder /usr/bin/yq /usr/bin/yq
 COPY --chown=misskey:misskey --from=builder /misskey/node_modules ./node_modules
 COPY --chown=misskey:misskey --from=builder /misskey/built ./built
 COPY --chown=misskey:misskey --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
diff --git a/healthcheck.sh b/healthcheck.sh
index f8e598b282..e97a3f0636 100644
--- a/healthcheck.sh
+++ b/healthcheck.sh
@@ -1,4 +1,4 @@
 #!/bin/bash
 
-PORT=$(yq '.port' /misskey/.config/default.yml)
+PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}')
 curl -s -S -o /dev/null "http://localhost:${PORT}"
-- 
GitLab