From 17105cf6ee98f4748394fdcc34f2e4c71713ce63 Mon Sep 17 00:00:00 2001 From: Last2014 Date: Wed, 17 Dec 2025 18:03:58 +0900 Subject: [PATCH] Feat: default env / Fix: unable to start / Enhance: Improved line break code conversion / Del: entrypoint / Fix: config.json value types --- .env.example | 4 ++-- Dockerfile | 28 +++++++++++++++++++++------- README.md | 2 +- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index 8171cde..ebfae2b 100644 --- a/.env.example +++ b/.env.example @@ -1,10 +1,10 @@ # Warn: 全ての値は必須です。指定しないで動くかは知りません。 -# uwuzuサーバーへの接続 +# uwuzuサーバーへの接続(必須) UWUZU_HOST=uwuzu.example.com # uwuzuサーバーのホスト名+":"+ポート(:ポートは任意)です。originではないのでHTTPSが必須になっています。stringです。 UWUZU_TOKEN=APITOKEN # uwuzuサーバーのアカウントで使えるAPIトークンです。全権限を与えることが推奨されているらしいです。stringです。 -# Botの挙動 +# Botの挙動(任意) TWEET_ENABLED=true # 3分から3時間での間隔でランダムなつぶやきをユーズとして投稿するかどうかを指定できます。booleanです。 CHECK_INTERVAL=300 # メンション/返信を確認する間隔です。number(second)です。 THINK_OUTPUT_ENABLED=false # 人工無能の脳内をconsole.log()するかどうかを指定できます。量が多いため非推奨らしいです。booleanです。 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1587a81..d834e97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,11 @@ +# Load Node.js FROM --platform=$BUILDPLATFORM node:24.12.0-alpine3.23 +# Set default env +ENV TWEET_ENABLED=true +ENV CHECK_INTERVAL=300 +ENV THINK_OUTPUT_ENABLED=false + # Set working directory WORKDIR /app @@ -15,13 +21,21 @@ COPY ./src ./ # Create replied_ids.json RUN touch replied_ids.json -# Setup entrypoint -COPY ./entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh +# Create config.json +RUN cat < /app/config.json +{ + "host": "${UWUZU_HOST}", + "api_token": "${UWUZU_TOKEN}", + "random_ueuse": ${TWEET_ENABLED}, + "check_interval": ${CHECK_INTERVAL}, + "rana_core_log": ${THINK_OUTPUT_ENABLED} +} +EOF # Change line break -RUN sed -i 's/\r$//' /entrypoint.sh \ - && find /app -type f -exec sed -i 's/\r$//' {} \; +RUN find /app -type f -print0 \ + | xargs -0 grep -Il "$(printf '\r')" \ + | xargs -0 sed -i 's/\r$//' -# Run entrypoint -ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file +# Run +CMD [ "npm", "start" ] \ No newline at end of file diff --git a/README.md b/README.md index 863eeec..a52c6ff 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,4 @@ docker run -d --restart=always -v ./memory.db:/app/memory.db -e UWUZU_HOST=uwuzu で動きます。 /app/memory.dbが記憶になっているのでvolumesにしてください。 環境変数への値は`.env.example`を確認してください。 -全ての環境変数は必須です。指定しないで動くかは知りません。 \ No newline at end of file +UWUZU_*の環境変数は必須です。指定しないで動くかは知りません。 \ No newline at end of file