Immich install without Docker...
Hi there,
I would like to install Immich on SBC (hardware : Rock 5B) running Armbian OS (https://www.armbian.com/).
On SBC I have limited resources on RAM, CPU, and disk space so I would like to try install manually. (native deployment)
Is this possible ? I am not expert in docker, so I don't know where to start.
15 Replies
this might help you https://github.com/immich-app/immich/discussions/1657
GitHub
[Feature]: Support native deployments (without docker, includes exa...
Feature detail Thanks for the great app! One thing that I'm dearly missing is the ability to deploy this on bare-metal, without relying on docker. The problem is that in certain situations,...
sudo apt-get install git make gcc gcc-c++ npm18 nodejs18 nodejs18-devel nodejs-common
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package gcc-c+
E: Couldn't find any package by regex 'gcc-c+'
E: Unable to locate package npm18
E: Unable to locate package nodejs18
E: Unable to locate package nodejs18-devel
E: Unable to locate package nodejs-common
pih, debian buster
Introduction | Volta
Introduction

you will need nodejs 16 or above
Rock5b don't have avx2, not sure where can i disable machine learning?!
{Otherwise, you can safely remove the immich-machine-learning service if you do not intend to use Immich's object detection features. Simply remove or comment out the declaration of the service in your compose file.}
where to comment out?
You can set
IMMICH_MACHINE_LEARNING_URL=false
@Tabalugach I'd still recommend using Docker, it does not have that much CPU overhead (It's mostly identical to native), plus you can manage CPU, Memory usage much more efficiently when using docker.
Updating is a breeze, plus, with docker volumes, backing up is painless as well. Only drawback is it requires a tiny bit more disk space.
If you intend to run multiple things besides Immich on your SBC, I'd strongly recommend docker.
For example, if the Immich team decides to update Node, Postgres or any part of their stack, you will have to find out what and update manually. With docker you can skip that and update by just running a single command.
Immich is still in rapid development so this is a very real scenario.
Stack Overflow
What is the runtime performance cost of a Docker container?
I'd like to comprehensively understand the run-time performance cost of a Docker container. I've found references to networking anecdotally being ~100µs slower.
I've also found references to the run-
I have successfully ran Immich on a Raspberri Pi 3 (1 GB ram) on docker so I think you're good from that regard.
Had to increase the swap space a bit though.
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the
services
key, or omit the version
key and place your service definitions at the root of the file to use version 1.
docker-compose --version
docker-compose version 1.25.0, build unknownWhy volta and not nvm?
all the operations are faster, subjectively
I also believe nvm does not support Alpine
So better compatibility for those creating their own docker images/ running extra lite on alpine.
@Tabalugach I'm running Immicj on a less power SBC: odroidn2. Docker is just fine. I've disabled the ML container, though. Maybe the Rock5 is even okay for that. Let me know - cause I plan to upgrade to a Rock5 myself