1 Commits

Author SHA1 Message Date
last2014 fba2c89392 Merge pull request 'v1.1.0' (#7) from develop into main
Reviewed-on: #7
2025-12-18 14:27:13 +00:00
4 changed files with 42 additions and 50 deletions
+1 -4
View File
@@ -1,6 +1,3 @@
/README.md
/.env**
/.gitignore
/.git/**
.DS_Store
npm-debug.log
/.gitignore
+22 -21
View File
@@ -1,33 +1,34 @@
# Load Node.js
FROM --platform=$BUILDPLATFORM node:20-bullseye-slim
# Set working directory & Set owner
# Set working directory
WORKDIR /app
RUN chown -R node:node /app
# Run as root & package install
# Run as root
USER root
RUN apt-get update && \
apt-get install -y \
build-essential \
python3 \
libsqlite3-dev && \
rm -rf /var/lib/apt/lists/*
# Run as node
USER node
# Install deps
COPY --chown=node:node ./src/package*.json ./
RUN npm ci
# Install packages
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y python3
RUN apt-get install -y libsqlite3-dev
RUN rm -rf /var/lib/apt/lists/*
# Copy source
COPY --chown=node:node ./src ./
COPY ./src ./
# Install dependencies
RUN npm ci --unsafe-perm
# Init replied_ids.json
RUN echo "[]" > replied_ids.json
# entrypoint
COPY --chown=node:node ./entrypoint.sh /app/docker-entrypoint.sh
RUN sed -i 's/\r$//' /app/docker-entrypoint.sh && \
chmod +x /app/docker-entrypoint.sh
# Copy entrypoint
COPY ./entrypoint.sh /app/docker-entrypoint.sh
RUN chmod +x /app/docker-entrypoint.sh
ENTRYPOINT ["/app/docker-entrypoint.sh"]
# Change line break
RUN sed -i 's/\r$//' /app/docker-entrypoint.sh
# Run
ENTRYPOINT ["/app/docker-entrypoint.sh"]
+3 -5
View File
@@ -7,15 +7,13 @@
### Use public image
```bash
touch memory.db
echo "[]" > replied_ids.json
docker run -d --restart=always -v ./memory.db:/app/memory.db -v ./replied_ids.json:/app/replied_ids.json -e UWUZU_HOST=uwuzu.example.com -e UWUZU_TOKEN=APITOKEN -e TWEET_ENABLED=true -e CHECK_INTERVAL=300 -e THINK_OUTPUT_ENABLED=false --name rana gitea.last2014.com/last2014/rana-for-docker:latest
docker run -d --restart=always -v ./memory.db:/app/memory.db -e UWUZU_HOST=uwuzu.example.com -e UWUZU_TOKEN=APITOKEN -e TWEET_ENABLED=true -e CHECK_INTERVAL=300 -e THINK_OUTPUT_ENABLED=false --name rana gitea.last2014.com/last2014/rana-for-docker:latest
```
で動きます。
/app/memory.dbと/app/replied_ids.jsonが記憶になっているのでvolumesにしてください。
/app/memory.dbが記憶になっているのでvolumesにしてください。
> **WARNING**
> [#3](https://gitea.last2014.com/last2014/rana-for-docker/issues/3)の通り`touch`コマンドをサボると起動できません。
> また、echoをサボっても動きますが起動時にエラーが出ます。
> [#3](https://gitea.last2014.com/last2014/rana-for-docker/issues/3)の通り`touch`コマンドをサボると起動できません。
> **WARNING**
>環境変数への値は`.env.example`を確認してください。
+16 -20
View File
@@ -2,34 +2,30 @@
set -e
# Check required env
[ -z "$UWUZU_HOST" ] || [ -z "$UWUZU_TOKEN" ] && {
echo "Error: Required environment variable not set"
if [ -z "$UWUZU_HOST" ] || [ -z "$UWUZU_TOKEN" ] ||
[ -z "$TWEET_ENABLED" ] || [ -z "$CHECK_INTERVAL" ] || [ -z "$THINK_OUTPUT_ENABLED" ]; then
echo "Error: The environment variable is not set"
exit 1
}
# Set default env
: "${TWEET_ENABLED:=true}"
: "${CHECK_INTERVAL:=300}"
: "${THINK_OUTPUT_ENABLED:=false}"
fi
# Change line break
find /app -type d -name node_modules -prune -o \
-type f -name '*.js' -exec sed -i 's/\r$//' {} +
find /app -type d -name "node_modules" -prune -o \
-type f -name "*.js" -exec sed -i 's/\r$//' {} \;
# Copy default memory
[ -s /app/memory.db ] || {
cp /app/memory.default.db /app/memory.db
rm -f /app/memory.default.db
}
if [ ! -s /app/memory.db ]; then \
cp /app/memory.default.db /app/memory.db; \
rm -f /app/memory.default.db; \
fi
# Create config.json
cat > /app/config.json <<EOF
cat <<EOF > /app/config.json
{
"host": "$UWUZU_HOST",
"api_token": "$UWUZU_TOKEN",
"random_ueuse": $TWEET_ENABLED,
"check_interval": $CHECK_INTERVAL,
"rana_core_log": $THINK_OUTPUT_ENABLED
"host": "${UWUZU_HOST}",
"api_token": "${UWUZU_TOKEN}",
"random_ueuse": ${TWEET_ENABLED},
"check_interval": ${CHECK_INTERVAL},
"rana_core_log": ${THINK_OUTPUT_ENABLED}
}
EOF