mirror of
https://github.com/immich-app/immich.git
synced 2026-01-12 21:23:43 -08:00
Description ----------- A while ago I asked on Discord if you people would be interested in removing incompatibilities with rootless docker. See: https://discord.com/channels/979116623879368755/1071165397228855327/1442974448776122592 The e2e tests in `e2e/src/api/specs/oauth.e2e-spec.ts` depend on a docker feature [host-gateway](https://docs.docker.com/reference/cli/dockerd/#configure-host-gateway-ip) that seemingly does not work on rootless docker. So the suggested change is to dockerify the `auth-server` and not run it on the docker host. I would love to receive feedback on this PR and feel free to request further improvements. Things that come to my mind: * Compile typescript instead of using `tsx` * Add hot-reloading of source files in `auth-server/` for development * Add `eslint` configuration for the new folder How Has This Been Tested? ------------------------ I'm running both default and rootless docker on my machine with [docker contexts](https://docs.docker.com/engine/manage-resources/contexts/): ``` docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default unix:///var/run/docker.sock rootless * unix:///run/user/1000/docker.sock ``` If I follow the steps from the [documentation](https://docs.immich.app/developer/testing) then `oauth.e2e-spec.ts` will fail because the `auth-server` on my host can't be reached. The tests pass after these steps: 1. `git switch refactor-auth-server-as-service` 2. `make e2e` 3. In another terminal `cd e2e` 4. `pnpm run test src/api/specs/oauth.e2e-spec.ts` passes Checklist: ---------- - [x] I have performed a self-review of my own code - [x] I have made corresponding changes to the documentation if applicable - [x] I have no unrelated changes in the PR. - [ ] I have confirmed that any new dependencies are strictly necessary. - [ ] I have written tests for new code (if applicable) - [ ] I have followed naming conventions/patterns in the surrounding code - [ ] All code in `src/services/` uses repositories implementations for database calls, filesystem operations, etc. - [ ] All code in `src/repositories/` is pretty basic/simple and does not have any immich specific logic (that belongs in `src/services/`)
66 lines
1.2 KiB
YAML
66 lines
1.2 KiB
YAML
packages:
|
|
- cli
|
|
- docs
|
|
- e2e
|
|
- e2e-auth-server
|
|
- i18n
|
|
- open-api/typescript-sdk
|
|
- server
|
|
- plugins
|
|
- web
|
|
- .github
|
|
ignoredBuiltDependencies:
|
|
- '@nestjs/core'
|
|
- '@scarf/scarf'
|
|
- '@swc/core'
|
|
- canvas
|
|
- core-js
|
|
- core-js-pure
|
|
- cpu-features
|
|
- es5-ext
|
|
- esbuild
|
|
- msgpackr-extract
|
|
- postman-code-generators
|
|
- protobufjs
|
|
- ssh2
|
|
- utimes
|
|
onlyBuiltDependencies:
|
|
- sharp
|
|
- '@tailwindcss/oxide'
|
|
- bcrypt
|
|
overrides:
|
|
canvas: 2.11.2
|
|
sharp: ^0.34.5
|
|
packageExtensions:
|
|
nestjs-kysely:
|
|
dependencies:
|
|
tslib: '*'
|
|
nestjs-otel:
|
|
dependencies:
|
|
tslib: '*'
|
|
'@photo-sphere-viewer/equirectangular-video-adapter':
|
|
dependencies:
|
|
three: '*'
|
|
'@photo-sphere-viewer/video-plugin':
|
|
dependencies:
|
|
three: '*'
|
|
sharp:
|
|
dependencies:
|
|
node-addon-api: '*'
|
|
node-gyp: '*'
|
|
'@immich/ui':
|
|
dependencies:
|
|
tailwindcss: '>=4.1'
|
|
tailwind-variants:
|
|
dependencies:
|
|
tailwindcss: '>=4.1'
|
|
bcrypt:
|
|
dependencies:
|
|
node-addon-api: '*'
|
|
node-gyp: '*'
|
|
dedupePeerDependents: false
|
|
preferWorkspacePackages: true
|
|
injectWorkspacePackages: true
|
|
shamefullyHoist: false
|
|
verifyDepsBeforeRun: install
|