QNAP TS-877 Truenas Journal

ty u i appreciate and definitely will check it out. i just finish up immich then call it a day first xd :cry:

i will schedule that for tomorrow, thx again

so after deploying immich, opened the app, browse around, toggle on transcoding (later switch it off cauz i donā€™t need that), then tested task for scan new faces etc, then ran a search seemed fast.

checked dozzle did not see any errors mentioned. i can only conclude it works.

if there is a better way to test it conclusively, plz let me know.

afaik i ran a search for moogles and the return result was pretty fast :rofl:


for accuracy tested ā€œboy with girlā€ something simple but clear

well spotted 2 mistakes. in 2 of them were both girls. unless the machine learning discovered Tanya was a dude but was reborn as a girl, then that would be pretty impressive. But iā€™m sure it was a mistake :rofl:

one thing that impressed me about Immich was how they lock down face boxes almost perfectly

Hardware-Accelerated Machine Learning [Experimental]

This feature allows you to use a GPU to accelerate machine learning tasks, such as Smart Search and Facial Recognition, while reducing CPU load. As this is a new feature, it is still experimental and may not work on all systems.

as i thought, the reason why smart search was fast was because itā€™s accelerated. so yes for me there is a benefit.

I guess that also applies for facial recognition. while indexing and perhaps looking for a similar face.

But yes itā€™s very responsive when running the smart search. Is it worth buying graphic card just for that? donā€™t know but i liked the performance.

Immich is great but what is fares poorly is in importing existing folders to create virtual albums. There are third party work arounds using unofficial scripts. But most know not to run scripts over the internet from unknown origins, itā€™s rarely ever safe doing. That said i tried one of them and it worked. But when will they officially add that feature to Immich? no idea, but itā€™s whatā€™s holding it back from being the best solution imho.

1 Like

did i speak too soon? not sure what this is, but itā€™s under machine learning

8/04/2024

[04/28/24 ] INFO     Initialized request thread pool with 8 threads.    
28/04/2024

[04/28/24 ] INFO     Application startup complete.                      
28/04/2024
22:37:54
[04/28/24 ] INFO     Setting 'ViT-B-32__openai' execution providers to  
28/04/2024

                             ['CUDAExecutionProvider', 'CPUExecutionProvider'], 
28/04/2024

                             in descending order of preference                  
28/04/2024

[04/28/24 ] INFO     Loading clip model 'ViT-B-32__openai' to memory    
28/04/2024

2024-04-28 xxxxxxxxxxxx [W:onnxruntime:, transformer_memcpy.cc:74 ApplyImpl] 15 Memcpy nodes are added to the graph main_graph for CUDAExecutionProvider. It might have negative impact on performance (including unable to run CUDA graph). Set session_options.log_severity_level=1 to see the detail logs before this message.
28/04/2024

[04/28/24 ] INFO     Shutting down due to inactivity.                   
28/04/2024

[04/28/24 14:47:08] INFO     Shutting down                                      
28/04/2024

[04/28/24 ] INFO     Waiting for application shutdown.                  
28/04/2024

[04/28/24 14:47:08] INFO     Application shutdown complete.                     
28/04/2024

[04/28/24 14:47:08] INFO     Finished server process [48]                       
28/04/2024

[04/28/24 14:47:08] ERROR    Worker (pid:48) was sent SIGINT!                   
28/04/2024

[04/28/24 14:47:08] INFO     Booting worker with pid: 77                        
28/04/2024

[04/28/24 14:47:13] INFO     Started server process [77]                        
28/04/2024

[04/28/24 14:47:13] INFO     Waiting for application startup.                   
28/04/2024

[04/28/24 14:47:13] INFO     Created in-memory cache with unloading after 300s  
28/04/2024

                             of inactivity.                                     
28/04/2024

[04/28/24 14:47:13] INFO     Initialized request thread pool with 8 threads.    
28/04/2024

[04/28/24 14:47:13] INFO     Application startup complete.

this got flagged as an error twice
**ERROR** Worker **(** pi**d:48** **)** was sent SIGINT!

:face_with_raised_eyebrow:

so i ran another smart search and noted down the exact activity in the logs

28/04/2024

[04/28/24 ] INFO     Setting 'ViT-B-32__openai' execution providers to  
28/04/2024

                             ['CUDAExecutionProvider', 'CPUExecutionProvider'], 
28/04/2024

                             in descending order of preference                  
28/04/2024

[04/28/24 ] INFO     Loading clip model 'ViT-B-32__openai' to memory    
28/04/2024

2024-04-28 xxxxxxxxxx [W:onnxruntime:, transformer_memcpy.cc:74 ApplyImpl] 15 Memcpy nodes are added to the graph main_graph for CUDAExecutionProvider. It might have negative impact on performance (including unable to run CUDA graph). Set session_options.log_severity_level=1 to see the detail logs before this message.

so all it output was this. no error i assume

saw this

how to update :sweat_smile:

https://download.docker.com/linux/debian/dists/bookworm/

well i did this

checks for updates but doesnā€™t update
sudo apt-get update

root@docker:~# apt list --upgradable

this updates anything it finds outdated
sudo apt-get update -y && sudo apt-get upgrade -y

hm

The following packages will be upgraded:
  docker-ce docker-ce-cli
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

then i exit restart jlmkr restart docker

jlmkr shell docker

root@docker:~# docker version
Client: Docker Engine - Community
 Version:           26.1.0
 API version:       1.45
 Go version:        go1.21.9
 Git commit:        9714adc
 Built:             Mon Apr 22 xxxxxxx 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.1.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.9
  Git commit:       c8af8eb
  Built:            Mon Apr 22 xxxxx 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.31
  GitCommit:        e377cdxxxxxxxxxxx94a521
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
root@docker:~#

seems to be latest

do my docker containers work? ya tested all fine :partying_face:

*update

some good ideas for how to go about updating in jailmaker

and if you are wondering
https://www.reddit.com/r/termux/comments/nxhpvj/pkg_vs_apt/

We strongly recommend to use a pkg utility instead of apt directly. It is a wrapper that performs a number of tasks:

  • Provides command shortcuts. Use ā€œpkg inā€ instead of ā€œpkg installā€ or ā€œapt installā€.
  • Automatically runs ā€œapt updateā€ before installing a package if necessary.
  • Performs some client side repository load-balancing by automatically switching mirrors on a regular basis. That is important to prevent us hitting quota limit on hosting.

is it alright to use apt?

As long as you manually run apt update before you try to install something you will be alright

studying up cron jobs. so can schedule updates for docker and stuff :sweat_smile:

https://www.truenas.com/docs/scale/scaletutorials/systemsetting

credits to dan for the idea also to winnie

hm, truenas > system settings > advanced

but how do u run a cron job within jailmaker shell docker to perform the pkg update -f && pkg upgrade

:thinking:

Execute Command in Jail

You may want to execute a command inside a jail, for example from a shell script or a CRON job. The example below executes the env command inside the jail.

jlmkr exec myjail env

This example executes bash inside the jail with a command as additional argument.

jlmkr exec myjail bash -c 'echo test; echo $RANDOM;'

so i assume

jlmkr exec myjail shell -c 'pkg update -f && pkg upgrade;'

is that correct? but itā€™s missing cron hm x-x;

according to this, you specify a file type to run
https://www.ibm.com/docs/kk/aix/7.1?topic=c-crontab-command

To run a script called maintenance every day at midnight in August, enter the following: 0 0 * 8 * /u/harry/bin/maintenance

to translate the numbers for cron and the formating used

Found a solution for immich to copy pics from existing folders.

but does that create albums in immich based on those folders (which is what i want) ? also when he said copy files, is that a symlink? or an actual full sized file meaning you are now storing double the file size because you are storing 2 exact copies on the same machine? hopefully that is not the case.

detailed explanation how immich handles the image imports/external libraries

If you are new to immich, think about this. Your only option for importing pics is either the upload, or the import external libraries.

Imagine you already have folders setup and you labeled them nicely e.g. cats, dogsā€¦ etc. So you want to add them to Immich to keep them separated by their folder structure you painstakingly did beforehand.

Immich by default canā€™t do thatā€¦ instead, it all goes into one location. once done, then you can create albums, For which they then expect you to select the picks you want to put in that album.

So more work for you to do.

Question then, why canā€™t they simply create albums based on folders already setup?

Photoprism can do this already. But immich canā€™t :sweat: That is Immichā€™s only sore point imho. But there are hacks around that but it ainā€™t pretty and potentially risk hazard if you accidentally run a malicious script some rando posted over the internet.

credits to Davvo :saluting_face:

root@xxxx[~]# jlmkr exec docker bash crontab -e
bash: crontab: No such file or directory
root@xxxx[~]#
root@xxxx[~]# jlmkr shell docker
Connected to machine docker. Press ^] three times within 1s to exit session.
root@docker:~# crontab -e
bash: crontab: command not found
root@docker:~# bash crontab -e
bash: crontab: No such file or directory
root@docker:~#

:grimacing:

figured it out /cd derp

im tired and been using shell too much lately.

root@xxx[~]# cd /mnt/xxxxxxxx/jailmaker/jails/docker
root@xxx[/mnt/xxxxxxxx/jailmaker/jails/docker]# select-editor

Select an editor. To change later, run ā€˜select-editorā€™.

  1. /bin/nano <---- easiest
  2. /usr/bin/mcedit
  3. /usr/bin/vim.tiny

Choose 1-3 [1]: 3
root@xxxxx[/mnt/xxxxx/jailmaker/jails/docker]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
ā€œ/tmp/crontab.0ZSNCD/crontabā€:23: bad minute
errors in crontab file, canā€™t install.
Do you want to retry the same edit? (y/n)

i used nano but that didnā€™t work so i did this to switch to vim
select-editor

now i can follow instructions. but when i tried to save, it couldnā€™t. bit confused :sweat:

Mine and @winnielinnieā€™s instructions were for FreeBSD jails. For Linux, refer to How to Edit Crontab in Linux? - Scaler Topics. Main difference is just vi commands.

2 Likes

iā€™ll try work it out. ty appreciated :pray: