I will be installing a blossom server and documenting my steps in this thread.
Discussion
The blossom server will be installed on a NAS running Unraid 6.2.18.
I will be following this guide:
The guide I’m using installs via docker, which Unraid has, so that’s a good start.
My entire docker experience has been installing by the community apps on unraid using the “install” button.
Manually installing a docker not customized for unraid will be different.
I am able to ssh into the server with root access. I created a “blossom” share with the same settings as my Nextcloud share. Storage is “array” so there’s no “mover” action, and I have a little over 10tb free.
I created /mnt/user/appdata/blossom for the config files.
First I have to figure out where to create the docker-compose file.
My first guess for the location is the blossom share. Appdata may be better, but who knows. I searched for where unraid puts the config files, and I think it was /mnt/user/admin but I read that was overwritten on reboot.
#asknostr #blossom #grownostr
So let’s look at the docker-compose.yml file.
There are 3 sections:
Version, services, and volumes.
Version is 3.8. I’ll leave that until I see something different.
In Services, the guide installs nginxproxymanager, but I already have that running, so I’ll skip that.
In that section there’s also blossom-drive and blossom-server.
I will be installing blossom-drive, and for this section it looks like I just need to switch the ports from 80:80 to something else, like 2080:80, since port 80 on the server is already used.
Under blossom-server I’ll change ports from 3000:3000 to 3200:3000 since 3000 is also used on the server.
For volumes, I think this maps server volumes from:to volumes inside the docker.
There are two volumes mapped in the guide:
1. './blossom-server/config.yml:/app/config.yml'
2. 'blossom_data:/app/data'
Both are mapped to the “app” directory inside the docker, so I think both should be /mnt/user/appdata in my setup.
In that case, I should create config.yml in the appdata/blossom directory.
But “blossom_data” sounds like the actual images/files maybe? If so I don’t want them in appdata. So I’ll need to look into that.
First I should get the docker running, save an image and see where it puts things, then I can make changes and run it again.
Last section in the docker-compose is Volumes.
This says: blossom_data:
Which doesn’t seem to map this to anything inside the docker. Not sure what to do here.
#grownostr #blossom #asknostr
Instead of using docker-compose, I tried to install via the docker commands.
# docker volume create blossom_data
# docker run -v blossom_data:/app/data -v $(pwd)/config.yml:/app/config.yml -p 3000:3000 ghcr.io/hzrd149/blossom-server:master
There was a "typeError":
******
TypeError: (0 , import2_1.default) is not a function
at Object.
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at cjsLoader (node:internal/modules/esm/translators:348:17)
at ModuleWrap.
at ModuleJob.run (node:internal/modules/esm/module_job:222:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:316:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:123:5)
Node.js v20.13.1
******
So I tried installing from source. Same problem.
******
TypeError: (0 , import2_1.default) is not a function
at Object.
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at cjsLoader (node:internal/modules/esm/translators:348:17)
at ModuleWrap.
at ModuleJob.run (node:internal/modules/esm/module_job:222:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:316:24)
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:123:5)
Node.js v20.13.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
******
Apparently its a problem with "websocket-polyfill" library. I have reached the limit of my knowledge, so I opened an issue on the github.