#Setup on portainer with external drive

1 messages · Page 1 of 1 (latest)

granite warren
#

Hi guys!
I´m very new to all of this since I recently bought a Raspberry pi and started messing with it. After a couple months with nextcloud, I decided to switch to immich for my and my partners pictures. I´m trying to set everything up on docker , yet my knowledge doesn´t quite get there. My intentions are to setup immich via portainer (seems more intuitive and I have all my programs there), and I´d like to make immich pictures save on an external drive (3tb) I have connected via usb to my raspberry pi. I'm not sure if I need to create a database on the external drive or how to set it up as the storage for immich. Any help is much appreciated and noob details are welcome too.

Thanks in advance!

worn charm
#

If you just want to store the images in an external drive it should be straightforward. When you download the example compose and env you will just want to modify the .env files UPLOAD_LOCATION variable to point to the external drive. That will store all the images and generated assets on it.

granite warren
#

Hi!

#

yes, just did that

#

and everything looks good

#

mounted my external hard drive to a folder and set that as the upload location

#

but then on portainer everything looks perfect

#

yet when i try to access immich on port 3000 nothing shows up

#

i can paste logs if you need

worn charm
#

Should be 2283

granite warren
#

nothing either

worn charm
#

Can you post your docker compose and env file

granite warren
#

sure

#

version: "3.8"

name: immich

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ "start.sh", "immich" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.yml
# service: hwaccel
command: [ "start.sh", "microservices" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always

immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- stack.env
restart: always

immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
env_file:
- stack.env
restart: always

typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
# remove this to get debug messages
- GLOG_minloglevel=1
volumes:
- tsdata:/data
restart: always

redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb
restart: always

#

database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad
env_file:
- stack.env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always

immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
ports:
- 2283:8080
depends_on:
- immich-server
- immich-web
restart: always

volumes:
pgdata:
model-cache:
tsdata:

#

.env:

#

UPLOAD_LOCATION=./media/skyhawk
IMMICH_VERSION=release
TYPESENSE_API_KEY=some-random-text
DB_PASSWORD=postgres
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis

#

all of this in in portainer

#

this is immich web log;

#

Listening on 0.0.0.0:3000

#

hold up

#

apparently it does show up on my phone

worn charm
granite warren
#

but not on my pc

#

what do you mean my mount is from the current directory

#

my drive is mounted to a directory on the host machine (rasp pi)

worn charm
#

You have upload location set to ./media/skyhawk

granite warren
#

yes

#

that is correct

#

thats where i mounted my external drive to

#

okay

#

just found out

#

it does show and work

#

on my phone

#

and on my pc

#

but when i access it from chrome

worn charm
#

Not /media/skyhawk? Didn't realize you created a custom mount. So all good?

granite warren
#

it says err ssl protocl error

granite warren
#

maybe i should get rid of the first "."?

worn charm
#

Maybe some chrome restriction on your machine? It won't have a certificate with the site so it may be that your security settings are to high? Not sure.

And the dot at the beginning says you are mounting it from the same folder where your docker compose is. Usually External drives in linux are mounted in /media in the root

granite warren
#

okay so i need to change that then

#

my drive is mounted to /media/skyhawk

worn charm
#

Then yes you will want to remove the first dot in your upload location so it gets saved externally

granite warren
#

the video you sent is exactly the one i followed to mount the drive in the first place

#

yep

#

now i gotta figure out why chrome doesnt like it

#

yet i can access portainer on port 9443 no problem

worn charm
#

Yeah that I am not sure of. Just from a quick google seems like there's lots of trouble shooting steps.

granite warren
#

ill have a look then

#

anyways

#

thanks a lot for your help

#

really appreciate it

#

its great to receive individual help when starting a new project

worn charm
#

No problem and good luck!

granite warren
#

thanks!!

sly marsh
#

Hey @granite warren did you figure this out? I'm a newbie here trying to create immich with a storage location on an external drive and can't get it to work

lament locust