feat(cli): dockerize (#6858)

* import dockerfile from old cli

* build works

* rename login command

* bump packages

* fix login command

* chore: remove axios dependency from CLI

* move immich script path

* can build docker

* wip

* wip

* don't externalize sdk

* can run docker

* improve entrypoint

* can save auth state between runs

* add docs

* clarify reqs

* fix lint

* bump alpine to 3.19

* add env files for api key

* remove immich cli GHA for now

* Update docs/docs/features/command-line-interface.md

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* remove redundant env variable check

* cleanup

* speling

---------

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
This commit is contained in:
Jonathan Jogenfors
2024-02-06 12:17:15 +01:00
committed by GitHub
parent 9b3764dbcf
commit 31eb4790dc
8 changed files with 46 additions and 31 deletions

View File

@@ -1,19 +1,19 @@
FROM ghcr.io/immich-app/base-server-dev:20240130@sha256:a11ac5c56f0ccce1f218954c07c43caadf489557252ba5b9ca1c5977aaa25999 as test
FROM node:20-alpine3.19 as core
WORKDIR /usr/src/app/server
COPY server/package.json server/package-lock.json ./
WORKDIR /usr/src/open-api/typescript-sdk
COPY open-api/typescript-sdk/package*.json open-api/typescript-sdk/tsconfig*.json ./
RUN npm ci
COPY ./server/ .
COPY open-api/typescript-sdk/ ./
RUN npm run build
WORKDIR /usr/src/app
WORKDIR /usr/src/app/cli
COPY cli/package.json cli/package-lock.json ./
RUN npm ci
COPY ./cli/ .
FROM ghcr.io/immich-app/base-server-prod:20240130@sha256:ce23a32154540b906df3c971766bcd991561c60331794e0ebb780947ac48113f
COPY cli .
RUN npm run build
VOLUME /usr/src/app/upload
WORKDIR /import
EXPOSE 3001
ENTRYPOINT ["tini", "--", "/bin/sh"]
ENTRYPOINT ["node", "/usr/src/app/dist"]