Initial Cloudron package for Jellyseerr

- Add CloudronManifest.json with app configuration
- Add Dockerfile with Node.js 22 support and multi-stage build
- Add start.sh script for runtime initialization
- Add icon.png for the app
- Update README.md with installation and usage instructions
- Configure config directory symlink to /app/data for persistent storage
This commit is contained in:
2026-01-02 07:28:45 +00:00
parent caa705ff36
commit f839b12474
6 changed files with 224 additions and 2 deletions

78
Dockerfile Normal file
View File

@@ -0,0 +1,78 @@
# build stage
FROM cloudron/base:5.0.0@sha256:6bec2b5246567ef8b5b13ca0af756e2e596941e440d76b46635211cd84383922 AS build_image
WORKDIR /app
# Install Node.js 22 (required by Jellyseerr)
# Remove old Node.js installation and install Node.js 22 binary directly
RUN apt-get update && \
apt-get install -y curl xz-utils && \
rm -rf /usr/local/node-* && \
NODE_VERSION="22.11.0" && \
ARCH="x64" && \
curl -fsSL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" -o /tmp/node.tar.xz && \
tar -xJf /tmp/node.tar.xz -C /usr/local --strip-components=1 && \
rm /tmp/node.tar.xz && \
ln -sf /usr/local/bin/node /usr/bin/node && \
ln -sf /usr/local/bin/npm /usr/bin/npm && \
node --version && \
npm --version && \
which node
# Install pnpm
RUN npm install --global pnpm
RUN git clone https://github.com/Fallenbagel/jellyseerr.git && cd jellyseerr
WORKDIR /app/jellyseerr
# Verify Node.js version before installing
RUN node --version && \
which node && \
CYPRESS_INSTALL_BINARY=0 pnpm install --frozen-lockfile
RUN pnpm build
# remove development dependencies
RUN pnpm prune --prod --ignore-scripts
RUN rm -rf src server .next/cache
# runtime stage
FROM cloudron/base:5.0.0@sha256:6bec2b5246567ef8b5b13ca0af756e2e596941e440d76b46635211cd84383922
WORKDIR /app/code/jellyseerr
# Install Node.js 22 for runtime as well
# Remove old Node.js installation and install Node.js 22 binary directly
RUN apt-get update && \
apt-get install -y curl xz-utils && \
rm -rf /usr/local/node-* && \
NODE_VERSION="22.11.0" && \
ARCH="x64" && \
curl -fsSL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" -o /tmp/node.tar.xz && \
tar -xJf /tmp/node.tar.xz -C /usr/local --strip-components=1 && \
rm /tmp/node.tar.xz && \
ln -sf /usr/local/bin/node /usr/bin/node && \
ln -sf /usr/local/bin/npm /usr/bin/npm && \
node --version && \
npm --version && \
which node
# Install pnpm
RUN npm install -g pnpm
RUN mkdir -p /app/code/jellyseerr
COPY --from=build_image /app/jellyseerr /app/code/jellyseerr
# Remove the read-only config directory from source and create symlink to persistent storage
# The symlink points to /app/data/config which will be mounted by Cloudron at runtime
RUN rm -rf /app/code/jellyseerr/config && \
ln -s /app/data/config /app/code/jellyseerr/config
COPY start.sh /app/code/start.sh
RUN chmod +x /app/code/start.sh
CMD [ "/app/code/start.sh" ]