Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Advice for an unconventional setup with Unraid 6.12.14

Featured Replies

Hi all, first time Unraid user and first post, so thank you in advance for being patient with my noobiness and for the long intro :)

 

Disclaimer: From my googling around and searching in this forum I've concluded that my setup is a bit unconventional, so I'm still wondering how to configure it properly, and if I'm at all thinking the right way about it. Hence this post!

 

My current setup is a Synology DS223j with 2x4TB IronWolfs + a Dell OptiPlex 3070 Micro with a 256GB NVME Samsung SSD, running Unraid. At this point I expect people to start asking "whaaat", so let me explain.

I initially bought the Synology, not having any experience with NASes with the idea to replace my external "backup" HDD with something more robust, given the RAID capabilities. Soon I discovered that I quite like the idea of having apps like Synology Drive, Synology Photos, etc., but then the problem came with the DS223j having just 1 GB RAM and a very slow CPU. So everything is real laggy, it's cannot really be used as a media server. At this point I knew I had screwed myself, but money had been given and I didn't want to deal with teh annoyance of selling the Synology and starting over from scratch. I have a friend who had tried Unraid recently and was very happy, so I thought to myself "okay, instead of fully replacing my Synology, I can just ugrade my setup with a separate machine running Unraid and it can use the Synology as a storage". This way, I thought, I can have the best of both worlds - the Synology's highly reliable hardware RAID support, and Unraid's great media server/self-hosted cloud capabilities, running on a machine with more RAM and a better CPU. Even if I don't use its RAID toolset, that still sounds like a good enough usage of Unraid. And who knows, maybe someday I will upgrade this if needed. So I got an OptiPlex Micro secondhand for a good price. And best of all, everything fit in my very limited space (small cabinet hung on the wall, attached photo). 

 

So what's the problem?

1. I'm not quite sure yet how to best utilize this setup. Or if it is a good setup at all. What do you think, does any of this make sense? I really don't want to start over right now.

2. I found how to mount the Synolgy as an SMB share, but I don't know if that has any limitations in terms of functionality, compared to using Array Devices. I.e. would that matter for apps like NextCloud for file management or Immich for photos/albums?

3. My original idea and current setup is that the Synology is to be used as main storage. Do I need any Array HDDs for a fully functioning Unraid OS?

4. I see that the full capabilities of Unraid are unleashed when you pair Array HDDs with Cache SSDs. Can I somehow use the Samsung NVME as Cache for the Synology SMB share, to make it faster? I see that not having Array HDDs, I can't even enable the Cache SSD functionality.

 

My overall goal is to have a safe backup storage for my files (mainly photos). And to top that with a media server that includes:

* Some sort of file management like NextCloud, with automatic syncing of files

* Some sort of photo management like Immich

* Plex and similar, would be a great addition, but I can live without

* I like the idea of expandability with docker containers and Unraid apps, so that I am future proof for any ideas that might come to me

 

I am actually a software developer, so I'm fairly technically literate, just not in the NAS, storage, networking space. So you can throw terminology at me, I will handle it :)

And again, thank you very much to anyone who has had the patience to read this monstrosity of a post and to try to answer it!

nas setup.jpg

  • Community Expert

A lot to digest here. Nice hideaway cabinet. It comes down to how you want to interact with it and what you want it to do...

This is not too unconventional... To me this looks like a Mini PC with a single Cache disk setup
*Dell OptiPlex 3070 Micro with a 256GB NVME Samsung SSD

*As I've seen and setup weirder...

With a Separate Synology Nas.
setup in ?mirror? 4TB

Review the unraid docs: https://docs.unraid.net/unraid-os/manual/storage-management/
Unriads array mechanics are on par with Synology raid setup. It's how you want to interact with it ... with unraid access to the disk, it would be a d1 / party (or zfs mirror). Unraid doesn't do well with thunderbolt/USB attached enclosure ran as D1/parity setups. This is due to usb power state's sleep and extra dish thrashing due to read writes...
*This hasn't stopped others from doing it but it is considered unsupported...


However, with your setup, Nothing is gained or lost in this setup... as you are using synology sabma to access the disk. That's fine, Synology is a nas as well.
So I would recommend running unraid version 7... No array setup

https://docs.unraid.net/unraid-os/release-notes/7.0.0/#known-issues

With unraid beta v7 RC1 I would recommend you go with a no array option and use the 256 NVME in the dell as a btrfs cache disk. Then use the unassigned disk plugin to remote mount and use the Synology nas for some media data storage/backup

Review a previous post on zfs setup with unriad 7:


As an example with no disk array I used zfs. As said.. in this case you would use the unassigned disk plugin to connect to the synolgy nas share.
either viaa remote smb share.nfs share/usb connection.

That connection would be more for data movement, while the 256 nvme cahce disk is used fore all your unraid server needs.

So in my use case to answer:

Quote

1. I'm not quite sure yet how to best utilize this setup. Or if it is a good setup at all. What do you think, does any of this make sense? I really don't want to start over right now.

2. I found how to mount the Synolgy as an SMB share, but I don't know if that has any limitations in terms of functionality, compared to using Array Devices. I.e. would that matter for apps like NextCloud for file management or Immich for photos/albums?

3. My original idea and current setup is that the Synology is to be used as main storage. Do I need any Array HDDs for a fully functioning Unraid OS?

4. I see that the full capabilities of Unraid are unleashed when you pair Array HDDs with Cache SSDs. Can I somehow use the Samsung NVME as Cache for the Synology SMB share, to make it faster? I see that not having Array HDDs, I can't even enable the Cache SSD functionality.


1. unriad 7, ditch the array nvme as a btrfs cache single disk.
use unassigned plugin to remote mount the Synology
*fail spot is when synolgy is offline or network unreachable...

 

2. ?May have been the unassigned disk plugin... may ways to accomplish this from manual user script mounts to other ways.
*It may be better to use nfs for Linux to linux private access. You can make a special folder in Synology and only let unraid write to it over the network...
see: https://recoverit.wondershare.com/computer-tips/synology-nfs.html


3. No. As explained above, go beta 7 ditch the array... for support, at least 1 disk still needs to be setup and used. In this case lets keep unriad cache pool and use the nvme here...

4. Depends on are hardware what your asking for here is performance. is there a difference when running the nvme as d1 vs a pool disk. From my experience in theory yes but in practice no performance loss... Silicone lottery... As this is nvme ssd I do recommend enabling trim a disk setting ( I think this is auto now ....)

with Q/A and a potential setup let review your goals:

 

Quote

My overall goal is to have a safe backup storage for my files (mainly photos). And to top that with a media server that includes:

* Some sort of file management like NextCloud, with automatic syncing of files

* Some sort of photo management like Immich

* Plex and similar, would be a great addition, but I can live without

* I like the idea of expandability with docker containers and Unraid apps, so that I am future proof for any ideas that might come to me


--- Friends don't let friends use next cloud 😛
What does nextcloud offer you as a service that you can't get from other means?

For example. Your most likely using Unirad for the docker service. as it clear you want the Synology as the nas. while unraid is a nas in and of itself first it is also a docker service, vm hypervisor and Slackware linux box. I ask as most use Nextcloud for some form of file sharing. webdav? http file access? ftp / samba/nfs? these can all be accomplished via other means. However, Space invader recently did a youtube video session on nextcloud AIO on unraid. With issues in the past I don't recommend Nextcloud. Unraid has a well maintained Community Appstore of docker templates and 1 click solutions.

 

see the app store https://unraid.net/community/apps

Nextcloud:


Based on your goals:
Docker appdata "program files" installed on the cache disk on unraid. so anything CA Docker will be added to the appdata folder and would be set there.
with UD plugin a mount will exist in some form from the synology nas nfs/samba.. and a i think ? /mnt/remote/?folder service name
will be the path for your data form unraid on the synology nas otherwise save it to the cahce disk and other systems like rclone plugin / rsync via user script to send it over the network/back to the Synology nas...

Goal Dockers:


Nextcloud >> Rejeto HFS3 /?sftp docker

 

Immich >> PhotoPrism / photosync phone apps


I would recommend photoprisom and photosync app
image.png.a2cb1b3e71308355c4d4b1de8fe57847.png  https://www.photosync-app.com/home
*This is what i run on my system...

I have herd of this in passing but don't know much on Immich setup...
see: https://www.youtube.com/watch?v=RCmPAIC74Hg

 

image.png.76cd6ef1eacdbcc29d7b2528e5dc0ef8.png

I'd recommend the Linuxserver/linuxio version.

 

so to help explain you will have 1 disk cache:
image.png.5b664f754c0493b40cd70c920cf5cc1f.png
Then add the sysnlogy nas via the UD plugin:
image.thumb.png.a308ff1d66dfb57fd79f2ca6a7cc3f74.png

image.png.e1091d6db1f82e9ed89fc7ae39cf46bf.png
penugin for nfs windows for smb/samba

this make a remote mount /mnt/remote/?share name?

when installing a docker you set your paths a bit different.
for example plex:
image.png.0dcafb0c1d8cb5815b09282a1dcb9989.png
image.png.17a425e2279c904bd9e7d4f49e575094.png

 

in your case appdata will be at /mnt/user/appdata/plex
and the media will be on the synolgoy nas accessible via /mnt/user/remote/?sharename/media....
 

Edited by bmartino1
data-typo

  • Author

Thank you @bmartino1 for the long and valuable answer. I ended up with the following setup:

- Synology as is, connected to the LAN, mounted on the Unraid with the Unassigned Disk Devices plugin, using SMB

- The SSD mounted as a single Array device disk

 

Otherwise I'm using the system "normally". Meaning, I install apps and plugins, start Docker containers etc. Basically, from what I understand, I'm using the SSD as storage for all docker container volumes and as an OS operational storage. Since it's an SSD I imagine it doesn't matter if it's configured as Cache or Array Device. So things like MariaDB should still load/run fast. And I store all of my data on the Synology. Then when I want an app to access my Synology data I mount it as an additional volume in the container and configure it in the app itself. In the case of NextCloud I use the Administration -> External Storage, and then I can see/access my files from NextCloud.

 

So far, from what I can see, everything is working and is fully functional. The only downside is that accessing the Synology data is a bit slow, which is expected. But it is still muuch faster than the Synology Drive app that I used natively on the Synology itself. I will try to buy a second SSD and mount it as cache, just to see if it will work as cache layer on top of the mounted Synology share.

 

In terms of NextCloud it seems to index the files, which makes browsing faster. And I think this is the biggest upside of using a similar app, rather than directly mounting the Synology share on my Android and Windows using SMB. The only downside on NextCloud so far, is that it doesn't automatically reindex, so when I e.g. delete a file or folder directly from the Synology, I can still see it in NextCloud. And the only way to fix this is to run a `occ files:scan` command in the NextCloud shell, which is a bit laughable. I guess they expect that anything that you do with files must happen from NextCloud, period :D So now I think to give something else a try, like SeaFile.

 

I'm still fighting to start Immich. It turned out to be not that trivial.

 

I will report back with more results, since I hope this thread could be useful as a future reference for other people with a setup similar to mine.

  • Community Expert

Cool. There isn't much difference with running the sdd as d1 in the array over cache. I recomend 7 rc1 as ther are other things teh array tries to do that in theroy can slow down stuff with only 1 disk. but it not a issues.

I recently had to setup immichi and coulnn't for the life of me get unraids docker template working. then ended up onthe apps offical page for unraid. they said go compose

https://immich.app/docs/install/unraid/

so thats what I didi...
image.png.657be241f6790a1ff599d323fdb046fe.png

 

and used the default copose in there link, and env file.

-used docker folder view plugin:
image.thumb.png.cdcbda8f7d2b2116593709b0c60be11d.png

 

I started by making a share:
image.thumb.png.ac109c880dfb445fca07b49ea53cb2cc.png

image.png.5f93a8804f37a8a26b070208f43a98ea.png

shared via smb

and told the stack via advance to put the compose file at /mnt/user/immich

image.png.f9d2eb45959a77590f1cc3d992c60be4.png

 

I removed the docker volume since there was only one path need to be mounted and set that to a cache folder. The others are set and made with the env file.

I'll leave it attached for others more a issue in the immich unraid template trying to define docker mod and other not starting with issues connect to redis/postgress...
 

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    labels:
      net.unraid.docker.icon: 'https://raw.githubusercontent.com/imagegenius/templates/main/unraid/img/immich.png'
      folder.view: immich
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.shell: '/bin/sh'
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    labels:
      net.unraid.docker.icon: 'https://raw.githubusercontent.com/imagegenius/templates/main/unraid/img/immich.png'
      folder.view: immich
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.shell: '/bin/sh'
    volumes:
      - /mnt/user/immich/cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
    labels:
      net.unraid.docker.icon: 'https://raw.githubusercontent.com/A75G/docker-templates/master/templates/icons/redis.png'
      folder.view: immich
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.shell: '/bin/sh'
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    labels:
      net.unraid.docker.icon: 'https://github.com/SpaceinvaderOne/Docker-Templates-Unraid/blob/master/spaceinvaderone/docker_icons/postgresql-immich-logo.png?raw=true'
      folder.view: immich
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.shell: '/bin/sh'
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: >-
        pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
        Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
        --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
        echo "checksum failure count is $$Chksum";
        [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: >-
      postgres
      -c shared_preload_libraries=vectors.so
      -c 'search_path="$$user", public, vectors'
      -c logging_collector=on
      -c max_wal_size=2GB
      -c shared_buffers=512MB
      -c wal_compression=on
    restart: always

 

This was a recent setup yesterday...

if you are having issues with immich:
image.thumb.png.2bff8a86198ec05f52ebc430d73e9210.png

docker-compose.yml .env

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.