Everything posted by Nodiaque
-
Immich
For anyone that want to migrate to the official container, it's very easy. This container isn't a bad one, we are many that have used it for a long time and many still use it. This is simply if you want to be on official one where all the documentation from developer apply. Some prefer all in one solution (although it's not that all in one anymore) like this docker, other prefer to have it like it's intended by the author. It's a mater of choice. I followed Rorar guide (although his guide doesn't use the apps) and official guide with some tweaks. rorar guide: https://rorar.github.io/immich-unraid-manual/ I didn't do the custom network nor the google migration. Google migration was already done when I installed immich so useless. As for the custom network, I already have a custom network with all my docker. You could create one dedicated to immich, it's up to you if you want to go that route. Just remember, if you are using a reverse proxy where the docker isn't in the same network, you can't use <dockername> directly to refer to it. But you do want a custom network, not Bridge. The reason is with the default Bridge network, you can't use docker name. The container I used are from Rorar repo: immich-vectorchord-db-official : it is the latest supported database ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1 immich_machine_learning_nvenc : Select the one according to your configuration. If using Hardware configuration with NVidia, take this one. Check Rorar docker list and select according to doc immich_server_nvenc : Immich server with NVidia HA. Change according to your configuration. For valkey, I used immich-valkey : Uses valkey/valkey:latest There is other valkey, this one is said to be optimized for immich. For the migration, we will simply create all new container and migrate database. Preparation Upgrade postgres to latest supported version. Check previous post for info. You don't have to, but if you have bad vector and such, it make everything way harder since import will fail. Do a database backup from immich, then shutdown all container regarding immich. If you share redis/vaulkey and postgres, it's ok not to shutdown them but they won't be used anymore. Rename appdata/immich to something else (immich_bak if you want). This guide use unraid nobody:users (99:100) configuration. Everthing under appdata for immich and all files in array/pool read/write by immich containers need to be chmod to these with proper permission. If you use custom permission, change accordingly. Array and share configuration One thing to keep in mind is how your library, thumbnail and such are configured in your current Immich. With the immich container from this thread, everything is under /photos. Because of that, it's harder to make path separation. Rorar explain well what you should put on SSD and what to put on Array. On my own configuration (you don't have to follow that), I have 2 share, one call Immich and the other Immich_Cache (that's because I have many SSD used as cache). Immich share is SSD move to Array and Immich_Cache is Array to SSD. Both create new file on SSD. Immich_Cache is just like appdata but on a separate pool. The reason is for performance, you want to have thumbnail, encoded-video and profile always on a SSD. The rest, you want them on an array since it's the actual file. This make browsing much faster (specially if you configured using multiple size thumbnail instead of original when browsing). It's a bit like Rorar did in his guide at Step 1: Create Unraid Shares - Immich on Unraid — Performance Setup Guide So for that, it would require to change some path. I myself moved the content from /photos/encoded-video, /photos/thumbnail and /photos/profile to the new SSD share I created. This is a breaking change from this container. I you want to come back to this container, you have to move back those file. You could also just leave it like that. Recommandation DO READ EACH DOCKER INFORMATION. Nearly all docker will have extra configuration and explanation in them, like if they are on SSD or not. This migration guide doesn't cover those scenario since they are properly explained in each docker template from Community Apps in Unraid. 1) Start by creating the postgresql server from the apps. In Extra-Parameters, add --user=99:100 Input the same password you used for the current Postgresql Immich Database. If you used a different username then postgres for the old database, the restore function won't work. If you change the username here, it won't work (I already opened a ticket on that). For that, see FAQ chapter later on how to fix the backup. Change the network to your custom docker network. Change TimeZone. Start the container 2) Create Valkey container from the apps In Extra-Parameters, add --user=99:100 Change the network to custom docker network Change TimeZone Start the container 3) Create machine learning from the apps Don't forget to take the one with the hardware acceleration you want. In Extra-Parameters, add --user=99:100 Change network to custom docker network change TimeZone Start the container This docker have a appdata/immich/model-cache path. Nothing else will write in immich appdata, the official docker doesn't use appdata. 4) Create immich_server from apps Don't forget to take the one with the hardware acceleration you want. In Extra-Parameters, add --user=99:100 Change network to custom docker network change TimeZone From here, you have to fill many path. You must point to the path of the already created files from the old immich container. You can select new path but move the content before starting the container. Do read the template, it is quite easy to understand. There is some entry that are information only, like "--- HDD Storage (Array) ---". Rorar use that to separate each type of path/variable in section to make it easier to read. So in short, in the old template, we had everything mapped to /photos. The official one use a per asset mapping. You can easily just map each one to them. Exemple on mine, everything was under /mnt/user/immich/photos/ in the old template. This is a Share that use cache for new file then move to Array. With this new docker, I've simply link directly each subfolder. I did the samething with the SSD variables. But the difference is I have another share with New file created to SSD and mover move from Array to SSD. I do have a pool dedicated for that. Under Database DB_HOSTNAME: immich-vectorchord-db-official (unless you changed the container name) DB_PORT: 5432 (unless you changed it) DB_USERNAME: postgres DB_PASSWORD: you_postgres_password DB_DATABASE_NAME: immich Under Valkey: REDIS_HOSTNAME: immich-valkey (unless you changed it) Change TimeZone. I changed the UMASK to 000 cause that's how I like it (personal preference). If you have any other custom path, map them accordingly. Start the container 5) Migrating the database Now that everything is mapped, you should see in the log that it's finding multiple things. Reach the WebUI. You should be greated with a setup screen. Press restore from backup. This will restart immich in maintenance mode (you might need to refresh the page). If refreshing the page lock you out, check the immich docker log. You will see a link that you open and get you directly in immich maintenance mode. Once in maintenance mode, it will scan everything and have green check. Inspect that everything is good. The only thing I have an error was profile because I have nothing in it. It must be green. Click next and select the most recent backup. And then it will import. If it fail, you need to read the error and find the problem. I myself had trouble because I didn't migrate to latest database version and removed the old vector. Go read previous post for guidance. Once it's finish, enjoy! If you have a reverse proxy, you will need to reconfigure because the official container use port 2283 instead of 8081. 6) Container start/stop order Since we are not all in one anymore, we have an order to start and stop to prevent issue. It won't be a big deal since the service is pretty resilient, but it's still a best practice. The stop order is simply the start in reverse. The start order you want to have in the docker list (and if you use backup solution like appdata-backup-restore, create a group and order them) 1) immich-valkey 2) immich-vectorchord-db-official 3) immich-machine-learning 4) immich-server FAQ Q. I'm using another user then postgres in postgres database A. You must migrate to postgres. There's other way, but you will be in unsuported teritory. The easiest way I found is to take the immich database backup on a computer, unzip and open the .sql file in something like notepad++. Search for the old database username. For instance, mine was immich. You should find entry like: Owner: immich OWNER TO immich; So the idea is simple. Do a find and replace. I suggest not looking only for the name cause, if like me you used immich, you will rename stuff that you don't want. So for exemple, I did a find and replace all with find: Owner: immich Replace: Owner: postgres Then find: OWNER TO immich; Replace: OWNER TO postgres; Save the file Now, at the restore database, choose upload. Once the upload is finish, find it in the webgui and restore.
-
Immich
The problem is you never updated your DB. I had the same problem. I myself moved all to Roar instead of having a all in one. Here's what you need to do. Put back your original postgresql version and restart the database as is. The database should now work. If it doesn't, restore a working database. Next, your immich container, go back to version 2 using the tag for it. If you were on latest, just use the latest 2 tag available. Once everything is back working, check the postgres log. You should see at the top a migration for your vector. Stop postgres and immich If I recall, all I had to do is migrate to the ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1 but the version of the DB you had. Like this is a Postgresql 18, but tensorchord/pgvecto-rs:pg16-v0.3.0 is 16. So, do something like ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvector0.3.0 and start. You should see a migration happening. It can be long. Once it's finish, launch Immich. Once immich is in working condition, start a new backup (I simply changed the date of immich daily backup so it would run in the next minute). Stop both container Change postgres to ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1 and start. It will migrate. Start immich. Now, if you want to migrate to ROAR like I did, it's very simple. I had to add some --user=99:100 to some of it's container though (else they run on bad user). For this, what I did is close everything that already exist and install each container one by one. I changed some of the path mapping on the immich container itself to match what I had (this should be easy). I also added a lot of variable that we can't used with the AIO for the configuration (check official immich documentation). Once immich start, I put restore database which restarted immich in maintenance mode. Then, I selected to restore database. Since it was mapped to the exact backup folder from the other immich container, it was able to find it and restore it. And that's it, you have a immich latest version with official container. This will create 4 new container (immich machine learning, vaulkey, postgres and immich server). If you need hardware acceleration like nvidia, intel or other, select the appropriate immich_Server docker.
-
[Support] Nodiaque - Gameserver docker
Oh! That is different then. I'll check it later on.
-
[Support] Nodiaque - Gameserver docker
Hello, as stated in the FAQ, in the first page and in the docker description, the docker doesn't contain the game itself thus doesn't have any version. To update, simply restart the docker to restart steam and download the latest version. Sometime, the steamcmd doesn't detect change and you need to delete a file (see second post) to force the update.
-
Problem with apps/docker template creation
Oh didn't knew this existed, thanks
-
[Support] junkerderprovinz - BombVault
I'm a bit trying to understand that vs backup/restore appdata plugin?
-
Problem with apps/docker template creation
@Squid I was wondering if you have any idea of what's going on. Thank you
-
[Support] A75G Repo
Redis itself (at least the official docker) doesn't use environment variable. It use the config file. I strongly suggest switching to config file instead for ongoing support
-
[Support] Nodiaque - Pihole
Summary: Support Thread for Nodiaque Pihole docker Application: Pihole Official DockerHub: https://hub.docker.com/r/pihole/pihole/ Pi-Hole - let's block those pesky ads! This is a template for the official PiHole Docker. Easiest way to setup is using a custom network for eth, select it in network and enter custom IP on your network. You can also use bridge mode. You cannot use host mode since Unraid is already listening on the DNS ports. If you set you router to give out the PiHole address to clients, make sure that you fix the unRaid servers dns to point to a real DNS Server. Please check https://hub.docker.com/r/pihole/pihole for additional variables that you may need. For all pihole specific help, please head to pihole official forum. This app is simply a wrapper of the official docker without any modification.
-
Why are some containers listed as "official" and tagged with blue marks?
I'll tell you how I setup my pihole and docker network. I have many container with their own ip. You will need to enable advanced view everywhere. I use macvlan and enable host access. This is not required but I do need it for my own scenario. Then, enable IPv4 custom network on interface eth0. This should be the same range as your router. Then, in you docker, you will select the custom eth0 network. After that, you will see a place to put a fixed address right under it. Be sure that in "extra parameter", you have this: --cap-add=NET_ADMIN --hostname=hostnameofyourpiholehere After, in the template, you should see "serverip" and "serveripv6" (at least my template have). If your template doesn't have it, just create it Under value, it should be the same ip you used for fixed ip. I'm looking at the pihole available in the list and it seems the one I used isn'T listed anymore (but it's using the official pihole docker). I see binhex does also use the official docker so it should work if you add it in that docker. I honestly see way more option in mine but it might be option I added by reading the pihole wiki. You could use bridge mode. I don't like bridge mode cause it's putting the pihole in it's separate vlan, not what I like. I want them directly on my vlan and that's how I learn to do it. Running over multiple vlan is easier with custom docker network then using default bridge. There's also benefit on using custom vlan vs bridge but I won't go into that here. I did create a docker pihole with all the var I use. There's many other you can use and the link for them is in the description. It should appear soon in the CA tabs. It's by default in bridge mode.
-
Why are some containers listed as "official" and tagged with blue marks?
I myself run pihole on unraid. It's not bad, you just have to think to have 2 dns. That's why I have another unraid running on a small server that I call HA that is running a duplicate instance of each network critical component like DNS. That's the way to go. You can use Pi or anything you want to run pihole. Everything can go down, even a pihole. We have unraid server that have years of uptime (not OS updated) and I've saw pi rebooted daily. Now for the DNS question, here's how OS work. First, they get the DNS from your DHCP. If you are using pihole, the DHCP should only distribute the IP of the pihole. I'll get on to why later. If you have multiple PiHoles, the DHCP server should give all of them (or at least those you want to be used). The client itself use a round robin way for queries. Your computer does a lot of queries and this is done to be sure a server doesn't get overloaded. The primary server do tend to receive more query. If the server it query fail as unreachable, it will try to contact another DNS in the list. It doesn't keep a tab on who is up or not, so it might try again for another query on the unreachable server. This can cause latency, but won't stop your Internet from working. That's how all of the internet work (without talking about Load Balancer and other stuff like it, simple flat explanation). It is not a list of server 1, then 2, then 3, it's round robin random style. If you are running windows, run ipconfig /all in a cmd and you will see under DNS a simple list, no priority. Now, why don't you want your DHCP to broadcast both the PiHole DNS and the router DNS? Normally, you would configure pihole to use your router DNS. The reason is PiHole won't know anything about local network if you connect it directly to an internet DNS. You can do it, but you need to make other configuration in PiHole to forward those type of dns query to the router. For a beginner, it's just easier to connect to the router DNS. But the reason to not send the Router DNS to the client is because of the round robin said earlier. By doing this, it means that some query goes to pihole, some goes to the router. Which mean that if you block in pihole a website, like www.xxx.com, if at the time of the request, the computer query the router, it won't be blocked. Don't forget that a computer also have a cache DNS. When a domain name is resolved, it cache the information for a certain amount of time (and browser can have their own cache also seperate of the OS, Edge and Chrome are notorius for that). Which mean that if you resolve and address and then block it, it could still work for a while. That's why in the documentation, it is recommended to close all browser and clear local dns cache of the client when testing; sometime even a reboot.
-
[Support] A75G Repo
honestly, you could just spin a redis native one. Once Bitnami goes down, so will all your redis container. There's 2 I could find, the one from jj9987 which is a plain redis, no path mapping and config file. Just launch and forget (which mean no option and also not running with unraid docker user) and the one I created (there's a bug in the template, read description to fix, still waiting on return on why it's doing that) that comply with unraid user and permission. With the one I created, you have a persistence path (which is required to backup your data) in which you can plug your current bitnami data. The second path is the one that is bug, it should end with /config/. This is where you will put the redis.conf. The template show you where to get the redis.conf template. After, you need to check if in the current container appdata, you have a folder "appendonlydir". If so, you need to enable appendonly in the config. I suggest you read the config file. The default config file container run without a password in protected mode, which mean nothing can connect to it. You need to edit the file for "requiredpassword" to add a password and/or change the binding so it listen to everything. The template explain very well everything required. I myself did it for immich, nextcloud and authelia. Moved over my 3 instances from bitnami to my container using the same config file (but different password).
-
Problem with apps/docker template creation
Hello, I have a template I did for redis which I did like all my other template (create on my system, click save, copy/paste and remove extra stuff like date installed). In the template, I have 2 path but weirdly, when I installed from the CA, the second path is truncated: XML: CA New installation (ran from another server that never installed it): XML: unraid_template/nodiaque/redis.xml at master · nodiaque/unraid_template Can someone help me understand why? I've checked under invalid template and template error and all I find is Duplicated Template: Nodiaque's Repository - redis - redis But I only have 1 xml for redis so I don't understand. Thank you
-
[Support] A75G Repo
You could also simply take a proper redis container and use redis.Conf, and configure in that config file no password. Problem with custom one is when the owner stop updating or remove all its container like bitnami will in September, you will be left with container without update and no recovery if you need to rebuild.
-
[Support] A75G Repo
passwordless means protected mode off also. I'm unsure how long this will be supported. On the one I just put online, you create the config file and you have 100% control over it. There's also no persistance on that redis container edit: there seems to be a bug with my template and I don't get why. My template put a /conf/ path but when you add it from the CA, the path is truncated. Currently investigating
-
Immich
Ah, I though it was someone else immich image. Mine is up for the last year if not more and stable so I haven't done anything beside container update. I was using bitnami redis that just broke and just made my own container with the official redis instead (and also created a template). Is there a gain to go with valkey?
-
Immich
What's the difference with the docker from ImageGenius? It's the one I'm running that use immich-postgresql and a redis database (not vaultkey).
-
[Support] Nodiaque - Redis
Summary: Support Thread for Nodiaque Redis docker Application: Redis Official DockerHub: https://registry.hub.docker.com/_/redis/ This template run the official Redis container without any modification. The template simply add requirements for Unraid compatible install as parameter. Before first run, you must create the appdata folder with the required config file. The default structure look for /mnt/user/appdata/redis/conf/redis.conf /mnt/user/appdata/redis/db/ All chmod with nobody:users redis.conf reference is to be found here: Redis configuration | Docs You can also use redis-full.conf which will require changing the post-argument option. Refer to redis docker hub for more information on how to use redis-full.conf at redis - Official Image | Docker Hub There is currently a bug with the template that I can't find the problem. The path for the config is wrong although it's good in the xml. The path should end with /conf/
-
[Support] A75G Repo
Honestly, since Bitnami is moving away from container and all their container will be discontinued in September it's better to just move on. I've saw another container that is using the official redis but it's lacking many configuration. I'm currently making a template from it that I successfully ran.
-
[Support] A75G Repo
For me with redis, I'm getting this error after the modification from last page 1:C 03 Jun 2026 11:44:48.982 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:C 03 Jun 2026 11:44:48.982 * Redis version=8.8.0, bits=64, commit=00000000, modified=1, pid=1, just started 1:C 03 Jun 2026 11:44:48.982 * Configuration loaded 1:M 03 Jun 2026 11:44:48.983 * monotonic clock: POSIX clock_gettime 1:M 03 Jun 2026 11:44:48.986 * Running mode=standalone, port=6379. 1:M 03 Jun 2026 11:44:48.986 * Server initialized 1:M 03 Jun 2026 11:44:48.988 * Reading RDB base file on AOF loading... 1:M 03 Jun 2026 11:44:48.988 * Loading RDB produced by version 8.4.0 1:M 03 Jun 2026 11:44:48.988 * RDB age 11202523 seconds 1:M 03 Jun 2026 11:44:48.988 * RDB memory usage when created 0.97 Mb 1:M 03 Jun 2026 11:44:48.988 * RDB is base AOF 1:M 03 Jun 2026 11:44:48.989 * Done loading RDB, keys loaded: 46, keys expired: 0. 1:M 03 Jun 2026 11:44:48.991 * DB loaded from base file appendonly.aof.7.base.rdb: 0.003 seconds 1:M 03 Jun 2026 11:44:50.238 * DB loaded from incr file appendonly.aof.7.incr.aof: 1.247 seconds 1:M 03 Jun 2026 11:44:50.238 * DB loaded from append only file: 1.251 seconds 1:M 03 Jun 2026 11:44:50.238 # Can't open the AOF manifest file temp-appendonly.aof.manifest: Permission denied 1:C 03 Jun 2026 11:44:52.257 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:C 03 Jun 2026 11:44:52.257 * Redis version=8.8.0, bits=64, commit=00000000, modified=1, pid=1, just started 1:C 03 Jun 2026 11:44:52.257 * Configuration loaded 1:M 03 Jun 2026 11:44:52.257 * monotonic clock: POSIX clock_gettime 1:M 03 Jun 2026 11:44:52.259 * Running mode=standalone, port=6379. 1:M 03 Jun 2026 11:44:52.259 * Server initialized 1:M 03 Jun 2026 11:44:52.261 * Reading RDB base file on AOF loading... 1:M 03 Jun 2026 11:44:52.261 * Loading RDB produced by version 8.4.0 1:M 03 Jun 2026 11:44:52.261 * RDB age 11202527 seconds 1:M 03 Jun 2026 11:44:52.261 * RDB memory usage when created 0.97 Mb 1:M 03 Jun 2026 11:44:52.261 * RDB is base AOF 1:M 03 Jun 2026 11:44:52.262 * Done loading RDB, keys loaded: 46, keys expired: 0. 1:M 03 Jun 2026 11:44:52.262 * DB loaded from base file appendonly.aof.7.base.rdb: 0.002 seconds 1:M 03 Jun 2026 11:44:53.442 * DB loaded from incr file appendonly.aof.7.incr.aof: 1.180 seconds 1:M 03 Jun 2026 11:44:53.442 * DB loaded from append only file: 1.182 seconds 1:M 03 Jun 2026 11:44:53.446 # Can't open the AOF manifest file temp-appendonly.aof.manifest: Permission deniedI tried using one of the older tag from docker hub but none work, I'm getting error about tag not found even when using copy/paste. Without the modification, I'm getting this redis 11:48:17.55 INFO ==> redis 11:48:17.55 INFO ==> Welcome to the Bitnami redis container redis 11:48:17.56 INFO ==> redis 11:48:17.57 INFO ==> ** Starting Redis setup ** redis 11:48:17.59 INFO ==> Initializing Redis redis 11:48:17.60 INFO ==> Setting Redis config file chmod: changing permissions of '/opt/bitnami/redis/etc/redis.conf': Operation not permitted
-
[Support] Nodiaque - Shelfmark
You should run both with the same user. I have cwa with shelfmark no problem, everything is running smooth
-
[Support] Nodiaque - Gameserver docker
Hello, no it won't reinstall steamcmd. They share the same path specially to prevent that. It download steamcmd only if it's not present. Unless you mount to a different path. As for proton or not, there's no real difference. Some says proton work best, other says without work best.
-
[Support] Nodiaque - Shelfmark
Hello, I suggest going to the shelfmark project to get help on using this. There is something in the configuration not working.
-
[Support] Nodiaque - Gameserver docker
Theere's something on the official FAQ about that. You can look on the windrose. There's a setting you can put to help with that.
-
[Support] Nodiaque - Gameserver docker
that's the log for steamcmd, not windrose itself