Compare commits

..

2 Commits

Author SHA1 Message Date
mertalev
6f7cd84d52 cache pnpm dependencies
use different ids to be safe

unnecessary lines
2025-10-01 19:12:34 -04:00
Kenny at FUTO
9b938d8954 feat(docs): add one-click install docs page (#22553)
* feat(docs): add one-click install docs page
2025-10-01 17:24:21 -05:00
2 changed files with 55 additions and 8 deletions

View File

@@ -0,0 +1,32 @@
---
sidebar_position: 65
---
# One-Click [Cloud Service]
:::note
This version of Immich is provided via cloud service provider's one-click marketplaces. Hosting costs are set by the cloud service providers.
Support for these are provided by the individual cloud service providers.
**Please report issues to the corresponding [Github Repository][github].**
:::
## Installation
Simply goto the providers marketplace and choose Immich, then follow the provided instructions.
## One-Click Immich marketplace providers
### DigitalOcean
https://marketplace.digitalocean.com/apps/immich
### Vultr
https://www.vultr.com/marketplace/apps/immich
## Issues
For issues, open an issue on the associated [GitHub Repository][github].
[github]: https://github.com/imagegenius/docker-immich/

View File

@@ -1,35 +1,50 @@
FROM ghcr.io/immich-app/base-server-dev:202509210934@sha256:b5ce2d7eaf379d4cf15efd4bab180d8afc8a80d20b36c9800f4091aca6ae267e AS builder
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \
CI=1 \
COREPACK_HOME=/tmp
COREPACK_HOME=/tmp \
PNPM_HOME=/pnpm \
PATH="/pnpm:$PATH"
RUN npm install --global corepack@latest && \
corepack enable pnpm
corepack enable pnpm && \
pnpm config set store-dir "$PNPM_HOME"
FROM builder AS server
WORKDIR /usr/src/app
COPY ./package* ./pnpm* .pnpmfile.cjs ./
COPY ./server ./server/
RUN SHARP_IGNORE_GLOBAL_LIBVIPS=true pnpm --filter immich --frozen-lockfile build && \
RUN --mount=type=cache,id=pnpm-server,target=/pnpm \
--mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=.pnpmfile.cjs,target=.pnpmfile.cjs \
--mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \
--mount=type=bind,source=pnpm-workspace.yaml,target=pnpm-workspace.yaml \
SHARP_IGNORE_GLOBAL_LIBVIPS=true pnpm --filter immich --frozen-lockfile build && \
SHARP_FORCE_GLOBAL_LIBVIPS=true pnpm --filter immich --frozen-lockfile --prod --no-optional deploy /output/server-pruned
FROM builder AS web
WORKDIR /usr/src/app
COPY ./package* ./pnpm* .pnpmfile.cjs ./
COPY ./web ./web/
COPY ./i18n ./i18n/
COPY ./open-api ./open-api/
RUN SHARP_IGNORE_GLOBAL_LIBVIPS=true pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install && \
RUN --mount=type=cache,id=pnpm-web,target=/pnpm \
--mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=.pnpmfile.cjs,target=.pnpmfile.cjs \
--mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \
--mount=type=bind,source=pnpm-workspace.yaml,target=pnpm-workspace.yaml \
SHARP_IGNORE_GLOBAL_LIBVIPS=true pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install && \
pnpm --filter @immich/sdk --filter immich-web build
FROM builder AS cli
COPY ./package* ./pnpm* .pnpmfile.cjs ./
COPY ./cli ./cli/
COPY ./open-api ./open-api/
RUN pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install && \
RUN --mount=type=cache,id=pnpm-cli,target=/pnpm \
--mount=type=bind,source=package.json,target=package.json \
--mount=type=bind,source=.pnpmfile.cjs,target=.pnpmfile.cjs \
--mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \
--mount=type=bind,source=pnpm-workspace.yaml,target=pnpm-workspace.yaml \
pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install && \
pnpm --filter @immich/sdk --filter @immich/cli build && \
pnpm --filter @immich/cli --prod --no-optional deploy /output/cli-pruned