mirror of
https://github.com/gethomepage/homepage.git
synced 2026-01-04 06:12:12 +08:00
Compare commits
44 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdbdb86c9e | ||
|
|
71669b295d | ||
|
|
9f68f3b3f4 | ||
|
|
0b41c1d686 | ||
|
|
85073629ad | ||
|
|
680d889228 | ||
|
|
e4c2eec7ee | ||
|
|
0642999826 | ||
|
|
1a1194acf8 | ||
|
|
e6f9d6fd1d | ||
|
|
ec4dcd0663 | ||
|
|
1993a1660a | ||
|
|
530495d804 | ||
|
|
c490d2467f | ||
|
|
c7771033c6 | ||
|
|
ccb227366d | ||
|
|
0d4b4ef65c | ||
|
|
45b59cd336 | ||
|
|
8dcc25f68f | ||
|
|
f0557d0a9c | ||
|
|
f1baafe9a1 | ||
|
|
940b6098d4 | ||
|
|
580c6adfb1 | ||
|
|
c9cb975265 | ||
|
|
3f887a7e26 | ||
|
|
3d5bb9d9eb | ||
|
|
6cd9d76892 | ||
|
|
cc073ea23c | ||
|
|
b6a2421a64 | ||
|
|
300fce5f17 | ||
|
|
19e654656f | ||
|
|
3add3a57d2 | ||
|
|
e850abbaec | ||
|
|
d4b3885139 | ||
|
|
3737ce704e | ||
|
|
43d781f1f9 | ||
|
|
fc01c6b428 | ||
|
|
592848f42f | ||
|
|
6634909f5b | ||
|
|
6c5f27cd87 | ||
|
|
995ebb1941 | ||
|
|
d27b795d81 | ||
|
|
01eea51555 | ||
|
|
67e72fb96a |
32
Dockerfile
32
Dockerfile
@@ -7,10 +7,12 @@ WORKDIR /app
|
|||||||
|
|
||||||
COPY --link package.json pnpm-lock.yaml* ./
|
COPY --link package.json pnpm-lock.yaml* ./
|
||||||
|
|
||||||
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
|
RUN <<EOF
|
||||||
RUN apk add --no-cache libc6-compat \
|
set -xe
|
||||||
&& apk add --no-cache --virtual .gyp python3 make g++ \
|
apk add libc6-compat
|
||||||
&& npm install -g pnpm
|
apk add --virtual .gyp python3 make g++
|
||||||
|
npm install -g pnpm
|
||||||
|
EOF
|
||||||
|
|
||||||
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm fetch | grep -v "cross-device link not permitted\|Falling back to copying packages from store"
|
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm fetch | grep -v "cross-device link not permitted\|Falling back to copying packages from store"
|
||||||
|
|
||||||
@@ -27,10 +29,12 @@ ARG REVISION
|
|||||||
COPY --link --from=deps /app/node_modules ./node_modules/
|
COPY --link --from=deps /app/node_modules ./node_modules/
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
|
RUN <<EOF
|
||||||
RUN npm run telemetry \
|
set -xe
|
||||||
&& mkdir config && echo '---' > config/settings.yaml \
|
npm run telemetry
|
||||||
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
|
mkdir config && echo '-' > config/settings.yaml
|
||||||
|
NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
|
||||||
|
EOF
|
||||||
|
|
||||||
# Production image, copy all the files and run next
|
# Production image, copy all the files and run next
|
||||||
FROM docker.io/node:18-alpine AS runner
|
FROM docker.io/node:18-alpine AS runner
|
||||||
@@ -46,15 +50,12 @@ ENV NODE_ENV production
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copy files from context (this allows the files to copy before the builder stage is done).
|
# Copy files from context (this allows the files to copy before the builder stage is done).
|
||||||
COPY --link --chown=1000:1000 package.json next.config.js ./
|
COPY --link package.json next.config.js ./
|
||||||
COPY --link --chown=1000:1000 /public ./public/
|
COPY --link /public ./public
|
||||||
|
|
||||||
# Copy files from builder
|
# Copy files from builder
|
||||||
COPY --link --from=builder --chown=1000:1000 /app/.next/standalone ./
|
COPY --link --from=builder /app/.next/standalone ./
|
||||||
COPY --link --from=builder --chown=1000:1000 /app/.next/static/ ./.next/static/
|
COPY --link --from=builder /app/.next/static/ ./.next/static/
|
||||||
COPY --link --chmod=755 docker-entrypoint.sh /usr/local/bin/
|
|
||||||
|
|
||||||
RUN apk add --no-cache su-exec
|
|
||||||
|
|
||||||
ENV PORT 3000
|
ENV PORT 3000
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
@@ -62,5 +63,4 @@ EXPOSE $PORT
|
|||||||
HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \
|
HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \
|
||||||
CMD wget --no-verbose --tries=1 --spider --no-check-certificate http://localhost:$PORT/api/healthcheck || exit 1
|
CMD wget --no-verbose --tries=1 --spider --no-check-certificate http://localhost:$PORT/api/healthcheck || exit 1
|
||||||
|
|
||||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
|
||||||
CMD ["node", "server.js"]
|
CMD ["node", "server.js"]
|
||||||
|
|||||||
@@ -2,22 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Default to root, so old installations won't break
|
|
||||||
export PUID=${PUID:-0}
|
|
||||||
export PGID=${PGID:-0}
|
|
||||||
|
|
||||||
# This is in attempt to preserve the original behavior of the Dockerfile,
|
# This is in attempt to preserve the original behavior of the Dockerfile,
|
||||||
# while also supporting the lscr.io /config directory
|
# while also supporting the lscr.io /config directory
|
||||||
[ ! -d "/app/config" ] && ln -s /config /app/config
|
[ ! -d "/app/config" ] && ln -s /config /app/config
|
||||||
|
|
||||||
# Set privileges for /app but only if pid 1 user is root and we are dropping privileges.
|
node server.js
|
||||||
# If container is run as an unprivileged user, it means owner already handled ownership setup on their own.
|
|
||||||
# Running chown in that case (as non-root) will cause error
|
|
||||||
[ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ] && chown -R ${PUID}:${PGID} /app
|
|
||||||
|
|
||||||
# Drop privileges (when asked to) if root, otherwise run as current user
|
|
||||||
if [ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ]; then
|
|
||||||
su-exec ${PUID}:${PGID} "$@"
|
|
||||||
else
|
|
||||||
exec "$@"
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -424,7 +424,7 @@
|
|||||||
"print_progress": "Progress",
|
"print_progress": "Progress",
|
||||||
"layers": "Layers"
|
"layers": "Layers"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,9 +416,12 @@
|
|||||||
"series": "Serie"
|
"series": "Serie"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Conclusión"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
|
"temp_bed": "Bed temp",
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
|
||||||
"job_completion": "Completion"
|
"job_completion": "Completion"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Séries"
|
"series": "Séries"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Achèvement"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,9 +416,12 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
|
"temp_bed": "Bed temp",
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
|
||||||
"job_completion": "Completion"
|
"job_completion": "Completion"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"layers": "Layers"
|
"layers": "Layers"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -394,28 +394,31 @@
|
|||||||
"numberOfLeases": "Dzierżawy"
|
"numberOfLeases": "Dzierżawy"
|
||||||
},
|
},
|
||||||
"xteve": {
|
"xteve": {
|
||||||
"streams_all": "All Streams",
|
"streams_all": "Wszystkie strumienie",
|
||||||
"streams_active": "Active Streams",
|
"streams_active": "Aktywne strumienie",
|
||||||
"streams_xepg": "XEPG Channels"
|
"streams_xepg": "Kanały XEPG"
|
||||||
},
|
},
|
||||||
"opnsense": {
|
"opnsense": {
|
||||||
"cpu": "CPU Load",
|
"cpu": "Obciążenie procesora",
|
||||||
"memory": "Active Memory",
|
"memory": "Pamięć rzeczywista",
|
||||||
"wanUpload": "WAN Upload",
|
"wanUpload": "WAN wysyłanie",
|
||||||
"wanDownload": "WAN Download"
|
"wanDownload": "WAN pobieranie"
|
||||||
},
|
},
|
||||||
"moonraker": {
|
"moonraker": {
|
||||||
"printer_state": "Printer State",
|
"printer_state": "Stan drukarki",
|
||||||
"print_status": "Print Status",
|
"print_status": "Status wydruku",
|
||||||
"print_progress": "Progress",
|
"print_progress": "Postęp",
|
||||||
"layers": "Layers"
|
"layers": "Warstwy"
|
||||||
},
|
},
|
||||||
"medusa": {
|
"medusa": {
|
||||||
"wanted": "Wanted",
|
"wanted": "Poszukiwane",
|
||||||
"queued": "Queued",
|
"queued": "Zakolejkowane",
|
||||||
"series": "Series"
|
"series": "Seria"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Ukończenie"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -425,6 +425,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Серії"
|
"series": "Серії"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Завершення"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -416,6 +416,9 @@
|
|||||||
"series": "Series"
|
"series": "Series"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "Completion"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -61,20 +61,20 @@
|
|||||||
"timeleft": "剩餘時間"
|
"timeleft": "剩餘時間"
|
||||||
},
|
},
|
||||||
"rutorrent": {
|
"rutorrent": {
|
||||||
"active": "Active",
|
"active": "活動中",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"download": "下載"
|
"download": "下行速率"
|
||||||
},
|
},
|
||||||
"radarr": {
|
"radarr": {
|
||||||
"movies": "電影",
|
"movies": "電影",
|
||||||
"wanted": "關注中",
|
"wanted": "關注中",
|
||||||
"queued": "已加入佇列",
|
"queued": "已加入佇列",
|
||||||
"missing": "遺失"
|
"missing": "缺少"
|
||||||
},
|
},
|
||||||
"sonarr": {
|
"sonarr": {
|
||||||
"wanted": "關注中",
|
"wanted": "關注中",
|
||||||
"queued": "已加入佇列",
|
"queued": "已加入佇列",
|
||||||
"series": "系列"
|
"series": "影集"
|
||||||
},
|
},
|
||||||
"readarr": {
|
"readarr": {
|
||||||
"wanted": "關注中",
|
"wanted": "關注中",
|
||||||
@@ -93,13 +93,13 @@
|
|||||||
"processing": "處理中"
|
"processing": "處理中"
|
||||||
},
|
},
|
||||||
"pihole": {
|
"pihole": {
|
||||||
"queries": "查詢數",
|
"queries": "查詢",
|
||||||
"blocked": "已阻擋",
|
"blocked": "已阻擋",
|
||||||
"gravity": "Gravity"
|
"gravity": "Gravity"
|
||||||
},
|
},
|
||||||
"speedtest": {
|
"speedtest": {
|
||||||
"upload": "上行",
|
"upload": "上行速率",
|
||||||
"download": "下行",
|
"download": "下行速率",
|
||||||
"ping": "Ping"
|
"ping": "Ping"
|
||||||
},
|
},
|
||||||
"portainer": {
|
"portainer": {
|
||||||
@@ -132,23 +132,23 @@
|
|||||||
"prowlarr": {
|
"prowlarr": {
|
||||||
"enableIndexers": "索引器",
|
"enableIndexers": "索引器",
|
||||||
"numberOfGrabs": "抓取",
|
"numberOfGrabs": "抓取",
|
||||||
"numberOfQueries": "查詢數",
|
"numberOfQueries": "查詢",
|
||||||
"numberOfFailGrabs": "抓取失敗",
|
"numberOfFailGrabs": "抓取失敗",
|
||||||
"numberOfFailQueries": "查詢失敗"
|
"numberOfFailQueries": "查詢失敗"
|
||||||
},
|
},
|
||||||
"transmission": {
|
"transmission": {
|
||||||
"download": "下載",
|
"download": "下行速率",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"leech": "Leech",
|
"leech": "未完成下載",
|
||||||
"seed": "Seed"
|
"seed": "已完成下載"
|
||||||
},
|
},
|
||||||
"jackett": {
|
"jackett": {
|
||||||
"configured": "已配置",
|
"configured": "已配置",
|
||||||
"errored": "發生錯誤"
|
"errored": "發生錯誤"
|
||||||
},
|
},
|
||||||
"bazarr": {
|
"bazarr": {
|
||||||
"missingEpisodes": "缺失的劇集",
|
"missingEpisodes": "缺少的劇集",
|
||||||
"missingMovies": "缺失的電影"
|
"missingMovies": "缺少的電影"
|
||||||
},
|
},
|
||||||
"lidarr": {
|
"lidarr": {
|
||||||
"wanted": "關注中",
|
"wanted": "關注中",
|
||||||
@@ -156,16 +156,16 @@
|
|||||||
"albums": "專輯"
|
"albums": "專輯"
|
||||||
},
|
},
|
||||||
"adguard": {
|
"adguard": {
|
||||||
"queries": "查詢數",
|
"queries": "查詢",
|
||||||
"blocked": "已阻擋",
|
"blocked": "已阻擋",
|
||||||
"filtered": "已過濾",
|
"filtered": "已過濾",
|
||||||
"latency": "延遲"
|
"latency": "延遲"
|
||||||
},
|
},
|
||||||
"qbittorrent": {
|
"qbittorrent": {
|
||||||
"download": "下載",
|
"download": "下行速率",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"leech": "Leech",
|
"leech": "未完成下載",
|
||||||
"seed": "Seed"
|
"seed": "已完成下載"
|
||||||
},
|
},
|
||||||
"mastodon": {
|
"mastodon": {
|
||||||
"user_count": "使用者",
|
"user_count": "使用者",
|
||||||
@@ -216,8 +216,8 @@
|
|||||||
"wait": "請稍後"
|
"wait": "請稍後"
|
||||||
},
|
},
|
||||||
"changedetectionio": {
|
"changedetectionio": {
|
||||||
"totalObserved": "Total Observed",
|
"totalObserved": "總監測數",
|
||||||
"diffsDetected": "Diffs Detected"
|
"diffsDetected": "偵測到的變更"
|
||||||
},
|
},
|
||||||
"wmo": {
|
"wmo": {
|
||||||
"0-day": "晴",
|
"0-day": "晴",
|
||||||
@@ -345,16 +345,16 @@
|
|||||||
"total": "全部"
|
"total": "全部"
|
||||||
},
|
},
|
||||||
"deluge": {
|
"deluge": {
|
||||||
"download": "下載",
|
"download": "下行速率",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"leech": "Leech",
|
"leech": "未完成下載",
|
||||||
"seed": "Seed"
|
"seed": "已完成下載"
|
||||||
},
|
},
|
||||||
"flood": {
|
"flood": {
|
||||||
"download": "下載",
|
"download": "下行速率",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"leech": "Leech",
|
"leech": "未完成下載",
|
||||||
"seed": "Seed"
|
"seed": "已完成下載"
|
||||||
},
|
},
|
||||||
"tdarr": {
|
"tdarr": {
|
||||||
"queue": "佇列",
|
"queue": "佇列",
|
||||||
@@ -382,10 +382,10 @@
|
|||||||
"connectedSwitches": "已連接的交換器"
|
"connectedSwitches": "已連接的交換器"
|
||||||
},
|
},
|
||||||
"downloadstation": {
|
"downloadstation": {
|
||||||
"download": "下載",
|
"download": "下行速率",
|
||||||
"upload": "上傳",
|
"upload": "上行速率",
|
||||||
"leech": "Leech",
|
"leech": "未完成下載",
|
||||||
"seed": "Seed"
|
"seed": "已完成下載"
|
||||||
},
|
},
|
||||||
"mikrotik": {
|
"mikrotik": {
|
||||||
"cpuLoad": "CPU負載",
|
"cpuLoad": "CPU負載",
|
||||||
@@ -405,17 +405,20 @@
|
|||||||
"wanDownload": "WAN下載"
|
"wanDownload": "WAN下載"
|
||||||
},
|
},
|
||||||
"moonraker": {
|
"moonraker": {
|
||||||
"printer_state": "Printer State",
|
"printer_state": "列印機狀態",
|
||||||
"print_status": "Print Status",
|
"print_status": "列印狀態",
|
||||||
"print_progress": "Progress",
|
"print_progress": "進度",
|
||||||
"layers": "Layers"
|
"layers": "層"
|
||||||
},
|
},
|
||||||
"medusa": {
|
"medusa": {
|
||||||
"wanted": "Wanted",
|
"wanted": "關注中",
|
||||||
"queued": "Queued",
|
"queued": "已加入佇列",
|
||||||
"series": "Series"
|
"series": "影集"
|
||||||
},
|
},
|
||||||
"octoPrint": {
|
"octoPrint": {
|
||||||
|
"job_completion": "完成度"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
"printer_state": "Status",
|
"printer_state": "Status",
|
||||||
"temp_tool": "Tool temp",
|
"temp_tool": "Tool temp",
|
||||||
"temp_bed": "Bed temp",
|
"temp_bed": "Bed temp",
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const components = {
|
|||||||
nextdns: dynamic(() => import("./nextdns/component")),
|
nextdns: dynamic(() => import("./nextdns/component")),
|
||||||
npm: dynamic(() => import("./npm/component")),
|
npm: dynamic(() => import("./npm/component")),
|
||||||
nzbget: dynamic(() => import("./nzbget/component")),
|
nzbget: dynamic(() => import("./nzbget/component")),
|
||||||
octoPrint: dynamic(() => import("./octoPrint/component")),
|
octoprint: dynamic(() => import("./octoprint/component")),
|
||||||
omada: dynamic(() => import("./omada/component")),
|
omada: dynamic(() => import("./omada/component")),
|
||||||
ombi: dynamic(() => import("./ombi/component")),
|
ombi: dynamic(() => import("./ombi/component")),
|
||||||
opnsense: dynamic(() => import("./opnsense/component")),
|
opnsense: dynamic(() => import("./opnsense/component")),
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export default function Component({ service }) {
|
|||||||
if (!printerStats || !state || !tempTool || !tempBed) {
|
if (!printerStats || !state || !tempTool || !tempBed) {
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="octoPrint.printer_state" />
|
<Block label="octoprint.printer_state" />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -36,29 +36,29 @@ export default function Component({ service }) {
|
|||||||
if (!jobStats || !completion) {
|
if (!jobStats || !completion) {
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="octoPrint.printer_state" />
|
<Block label="octoprint.printer_state" />
|
||||||
<Block label="octoPrint.temp_tool" />
|
<Block label="octoprint.temp_tool" />
|
||||||
<Block label="octoPrint.temp_bed" />
|
<Block label="octoprint.temp_bed" />
|
||||||
<Block label="octoPrint.job_completion" />
|
<Block label="octoprint.job_completion" />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="octoPrint.printer_state" value={printerStats.state.text} />
|
<Block label="octoprint.printer_state" value={printerStats.state.text} />
|
||||||
<Block label="octoPrint.temp_tool" value={`${printerStats.temperature.tool0.actual} °C`} />
|
<Block label="octoprint.temp_tool" value={`${printerStats.temperature.tool0.actual} °C`} />
|
||||||
<Block label="octoPrint.temp_bed" value={`${printerStats.temperature.bed.actual} °C`} />
|
<Block label="octoprint.temp_bed" value={`${printerStats.temperature.bed.actual} °C`} />
|
||||||
<Block label="octoPrint.job_completion" value={`${completion.toFixed(2)}%`} />
|
<Block label="octoprint.job_completion" value={`${completion.toFixed(2)}%`} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="octoPrint.printer_state" value={printerStats.state.text} />
|
<Block label="octoprint.printer_state" value={printerStats.state.text} />
|
||||||
<Block label="octoPrint.temp_tool" value={`${printerStats.temperature.tool0.actual} °C`} />
|
<Block label="octoprint.temp_tool" value={`${printerStats.temperature.tool0.actual} °C`} />
|
||||||
<Block label="octoPrint.temp_bed" value={`${printerStats.temperature.bed.actual} °C`} />
|
<Block label="octoprint.temp_bed" value={`${printerStats.temperature.bed.actual} °C`} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ import navidrome from "./navidrome/widget";
|
|||||||
import nextdns from "./nextdns/widget";
|
import nextdns from "./nextdns/widget";
|
||||||
import npm from "./npm/widget";
|
import npm from "./npm/widget";
|
||||||
import nzbget from "./nzbget/widget";
|
import nzbget from "./nzbget/widget";
|
||||||
import octoPrint from "./octoPrint/widget";
|
import octoprint from "./octoprint/widget";
|
||||||
import omada from "./omada/widget";
|
import omada from "./omada/widget";
|
||||||
import ombi from "./ombi/widget";
|
import ombi from "./ombi/widget";
|
||||||
import opnsense from "./opnsense/widget";
|
import opnsense from "./opnsense/widget";
|
||||||
@@ -84,7 +84,7 @@ const widgets = {
|
|||||||
nextdns,
|
nextdns,
|
||||||
npm,
|
npm,
|
||||||
nzbget,
|
nzbget,
|
||||||
octoPrint,
|
octoprint,
|
||||||
omada,
|
omada,
|
||||||
ombi,
|
ombi,
|
||||||
opnsense,
|
opnsense,
|
||||||
|
|||||||
Reference in New Issue
Block a user