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.

[Support] devzwf - Docmost

Featured Replies

Overview: Support for Docker image Docmost

Application Name: Docmost

Application Site : https://docmost.com/
Application repository:  https://github.com/docmost/docmost

Documentation: https://docmost.com/docs/

Overview : Open-source collaborative wiki and documentation software

Create, collaborate, and share knowledge seamlessly with Docmost.
Ideal for managing your wiki, knowledge-base, documentation and a lot more.

 

Make sure to look at the complete documentation

 

Please post any questions/issues relating to this docker template you have in this thread.

  • Author

reserved

Hi, i tried your teamplate but it seems like i can't upload any images/ files in general to the docmost instance.
Seems like a permission error for the data directory
 

[Nest] 41  - 07/22/2024, 5:32:47 PM   ERROR [AttachmentService] Error uploading file to drive:
[Nest] 41  - 07/22/2024, 5:32:47 PM   ERROR [AttachmentService] Error: Failed to upload file: EACCES: permission denied, mkdir '/app/data/storage/0190d976-fa88-799a-b7af-20c9e833a99d'
[Nest] 41  - 07/22/2024, 5:32:47 PM   ERROR [AttachmentController] BadRequestException: Error uploading file to drive

 

the data directory is assigned to nobody:users as it should be, so i think its a problem with the container?

 

  • Author

yes could be 

can give me the permission of the dir 

/mnt/apps/appdata/docmost/data


i did not test this feature as i did not have any image of file while testing
i will try to reproduce and get back

 

  • 1 month later...

I've had a similar issue to Random.Name:

 

 

[Nest] 42  - 08/25/2024, 4:04:24 PM     LOG [NestFactory] Starting Nest application...
[Nest] 42  - 08/25/2024, 4:04:25 PM     LOG [DatabaseModule] Establishing database connection
[Nest] 42  - 08/25/2024, 4:04:25 PM     LOG [DatabaseModule] Database connection successful
[Nest] 42  - 08/25/2024, 4:04:25 PM     LOG [DatabaseMigrationService] No pending database migrations
[Nest] 42  - 08/25/2024, 4:04:25 PM     LOG [NestApplication] Nest application successfully started
[Nest] 42  - 08/25/2024, 4:04:35 PM   ERROR [AttachmentService] Error uploading file to drive:
[Nest] 42  - 08/25/2024, 4:04:35 PM   ERROR [AttachmentService] Error: Failed to upload file: EACCES: permission denied, mkdir '/app/data/storage/01918ae0-5027-79a2-ac0b-9f44b9970f7b'
[Nest] 42  - 08/25/2024, 4:04:35 PM   ERROR [AttachmentController] BadRequestException: Error uploading file to drive

 

 

Permissions of that folder from the host machine (unraid):

/mnt/user/appdata/docmost/data# ls -al
total 0
drwxr-xr-x 1 nobody users 0 Aug 25 16:08 .
drwxr-xr-x 1 nobody users 8 Aug 25 14:23 ..

 

Permissions of that folder when connected to the Docmost container:

 

docker exec -it Docmost bash

c591c6413f6e:/app$ cd data
c591c6413f6e:/app/data$ ls -al

total 0
drwxr-xr-x    1 node     node            14 Aug  7 21:06 .
drwxr-xr-x    1 node     node           146 Aug  7 21:06 ..
drwxr-xr-x    1 99       users            0 Aug 25 20:08 storage

 

Update #1:

I see that the source Dockerfile sets the user this way:

 

RUN chown -R node:node /app

USER node

 

Not sure the disconnect between that user (node:node), and this weird "99:users" being used to create the "storage" directory. I don't see any configuration details on Docmost's side that allows you to pass PUID/PGID, etc, like linuxservers docker images. 

 

Update #2:

It seems that docmost's "node:node" expects to be PUID:PGID "1000:1000". I found this out by getting into the running Docmost container and running the "id" command:

 

docker exec -it Docmost bash

id
uid=1000(node) gid=1000(node) groups=1000(node)

 

Also, it sets up the `/app/data/storage` as a volume when the container starts (from further in the Dockerfile):

 

VOLUME ["/app/data/storage"]

 

I don't recall if it's possible to adjust the running Docker container user without modifying the Dockerfile itself.

Edited by Elinor3

I ended up solving it, but don't recommend it for others as it will have unknown consequences.

 

Since my host machine (unraid) already had user id 1000 and group id 1000 taken, I thought I'd just modify that user and group to new user id (2000) and group (2000). 

 

groupmod -g 2000 old-group-name-here
usermod -u 2000 some-user-name-here

groupmod -g 1000 node
usermod -u 1000 node

cd /mnt/user/appdata/docmost
chown -R node:node .

docker restart Docmost

 

Now I can upload files to a local storage.

 

What we'll probably want to do is request changes to the source Dockerfile to set it up to allow different user:group that is customizable. Or, perhaps there's even an alternative to that that I'm just not familiar with. UID and GID stuff is not my strong suit (clearly).

  • Author
2 minutes ago, Elinor3 said:

What we'll probably want to do is request changes to the source Dockerfile to set it up to allow different user:group that is customizable. Or, perhaps there's even an alternative to that that I'm just not familiar with. UID and GID stuff is not my strong suit (clearly).

I am not the one who build the image , it coming from the official project itself.
I will check if there is a possibility, as i think it would be the best way...

Quote

I am not the one who build the image , it coming from the official project itself.


I am aware, and I was suggesting we'd need to talk with the Docmost authors. Probably via a new github issue: https://github.com/docmost/docmost/issues

 

On that note, I did see a previous issue of someone else having this local storage issue with unraid: https://github.com/docmost/docmost/issues/111

 

I don't quite understand their solution, as it seems like someone suggested running this:

 

sudo chown -R user:user ./path-to-docmost-data

 

But I don't know how that would fix it unless the UID of user was 1000 and the GID of user was also 1000. But I could be missing some detail. On my machine I had different users assigned to 1000:1000, as I'd mentioned above.

Edited by Elinor3

  • 1 month later...

anyone getting a 'blank white page' on Docmost when trying to tunnel out with CF?

enable these two

image.png.9940deed25ab3b470185dcc8b8347bb5.png


Done.

Edited by Tolete
typo

  • 4 months later...

I just installed this app and got it working and setup with reverse proxy. Here are a few helpful tips for anyone trying to run this:

  1. Change "storage" in the template to "/mnt/user/appdata/docmost/", the default is /mnt/apps/appdata/docmost, which led to permission issues (and just isn't where appdata is supposed to go). I was able to change this after already standing up my instance and having pages created. I believe this folder is only used for asset upload (such as images) and not used for any page/app data. Once I switched this in the template I was able to upload images.
  2. Click the "advanced view" toggle and update the "extra parameters" to "--restart=unless-stopped --hostname docmost" (adding the 'hostname' part to make it easier to setup Nginx/reverse proxy in the future).
  3. Also in the "advanced view" change the "WebUI" to "http://[IP]:[PORT:3000]". The default has "https" in it which will make the local web UI not show up when trying to access from the Unraid Docker page.
  4. Database URL example: postgresql://[your postgress hostname]:[your postgres DB password]@[your postgres admin username]:5432/docmost?schema=public.
    Note: "5432/docmost?schema=public" is your postgres port (yours may be different, though you can use 5432 if you're on the same docker network since that would be the container internal port). the "docmost" part of this snippet is the name of the db in postgres. I used the container "postgresql16" and in it you can set your initial db name. If you're already running that for another container, then you can use adminer to login to postgres and create your docmost db there first.
  5. If you're running docmost & redis on the same custom docker network (such as "nginx"), then instead of "redis://127.0.0.1:6379", you can use "redis://redis:6379" (assuming you have set the hostname in the redis container to be "redis").
  • Author

@DebrodeD thanks for note
i will review and make the template adjustment accordingly.

 

I can't figure out why i'm not able getting this to work.

I've installed UNDRA1Duser's postgresql_alpine container with database name: docmost, username postgres and a stong password.

Also i've installed the official Redis container

In the docmost container i've set the Database URL to: postgresql://postgres:Stong_Password@HOST-IPADRESS:5432/docmost?schema=public

But when i try to start docmost I get the error: {"isUrl":"DATABASE_URL must be a valid postgres connection string"}

 

Everything is on the same custom docker network, but I can't figure out what I'm doing wrong.

Does anybody have any idea's what I'm doing wrong?

  • Author
52 minutes ago, victor93 said:

I can't figure out why i'm not able getting this to work.

I've installed UNDRA1Duser's postgresql_alpine container with database name: docmost, username postgres and a stong password.

Also i've installed the official Redis container

In the docmost container i've set the Database URL to: postgresql://postgres:Stong_Password@HOST-IPADRESS:5432/docmost?schema=public

But when i try to start docmost I get the error: {"isUrl":"DATABASE_URL must be a valid postgres connection string"}

 

Everything is on the same custom docker network, but I can't figure out what I'm doing wrong.

Does anybody have any idea's what I'm doing wrong?

which IP are you trying ?  for HOST-IPADRESS 
this should be the IP of your postgres DB or is the container is on the same docker network , just put the postgres conatiner name 
and let me know 
Also make sure your password do not contain special charaters like who can make this error?

Edited by ZappyZap

35 minutes ago, ZappyZap said:

which IP are you trying ?  for HOST-IPADRESS 
this should be the IP of your postgres DB or is the container is on the same docker network , just put the postgres conatiner name 
and let me know 
Also make sure your password do not conatin special charaters like who can make this error?

I feel a bit dumb. I used a password generator for the database password which contained special characters.

Changed it in both containers and everything is working now! Thanks!

  • Author
2 minutes ago, victor93 said:

I feel a bit dumb. I used a password generator for the database password which contained special characters.

Changed it in both containers and everything is working now! Thanks!

Great that's all is in order now.
enjoy

I also ran into the problem with uploading images. I already changed the storage location to "/mnt/user/appdata/docmost/data" like DebrodeD said, but it didn't fix the problem for me.

I've read that Elinor3 fixed this, but didn't recommend the solution. Also, I don't fully understand what the solution exactly does

So I was wondering if i've missed anything or if i should try something else?

For a complete noob who only has the immich-specific PostgreSQL and followed youtube guides for installing almost everything on his unraid server so far...Can someone post a tutorial on how to get a Database URL/Redit URL and install from A to Z as if they were a complete noob?

 

  • 2 weeks later...

If it can help. This is what i have done. The post of DebrodeD is mostly the same.

 

  • - Install Redis (fill the RedisPassword field and don't put any @ sign)
  • - Install PostgreSQL (i took the latest v17) - As you have PostgreSQL-immich like me, don't forgot to change the port to 5433 for example
    • I had to set up a password for the default account 'postgres' to make it works. Open the console of the docker and type this :
      • su - postgres
      • psql
      • ALTER USER postgres PASSWORD 'THE_FAMOUS_STRONG_DB_PASSWORD';  (don't put any @ sign)
  • - Install Docmost
    • Change the storage to : /mnt/user/appdata/docmost/data
    • Application URL: I put the local IP of unRaid for now but you can put the futur nginx URL i guess

    • Application Secret: Generate a 32 lenght password and put it here

    • Database URL: postgresql://postgres:THE_FAMOUS_STRONG_DB_PASSWORD@LOCAL_IP_UNRAID:5433/postgres?schema=public

    • Redis URL: redis://:RedisPassword @LOCAL_IP_UNRAID:6379

    • WebUI: Change the port is already taken

 

Hope i didn't forgot anything... The log is VERY helpfull for any issues.

 

When Docmost start, it sends me to https://LOCAL_IP_UNRAID:3000/, i had to change to http://LOCAL_IP_UNRAID:3000/

 

Also have the picture upload failing, didn't do any chmod yet.

 

Edited by Max85
Little update

I'm trying to make something like the one present... first fork, first markdown file...

 

Edit : Has the file been deleted ? Don't see it anymore.

Edited by Max85
Update

  • 4 weeks later...
On 2/24/2025 at 7:14 PM, victor93 said:

I also ran into the problem with uploading images. I already changed the storage location to "/mnt/user/appdata/docmost/data" like DebrodeD said, but it didn't fix the problem for me.

I've read that Elinor3 fixed this, but didn't recommend the solution. Also, I don't fully understand what the solution exactly does

So I was wondering if i've missed anything or if i should try something else?


I have the exact same issue, configured everyhing as explained and changed the appdata directory accordingly. Get this message when i try to save some files to docmost:

 

[Nest] 41  - 04/07/2025, 9:12:38 AM   ERROR [AttachmentService] Error uploading file to drive:
[Nest] 41  - 04/07/2025, 9:12:38 AM   ERROR [AttachmentService] Error: Failed to upload file: EACCES: permission denied, mkdir '/app/data/storage/01960f03-de86-73db-b0b7-9232daaa15e7'
    at LocalDriver.upload (/app/apps/server/dist/integrations/storage/drivers/local.driver.js:19:19)
    at async StorageService.upload (/app/apps/server/dist/integrations/storage/storage.service.js:25:9)
    at async AttachmentService.uploadToDrive (/app/apps/server/dist/core/attachment/services/attachment.service.js:152:13)
    at async AttachmentService.uploadFile (/app/apps/server/dist/core/attachment/services/attachment.service.js:60:9)
    at async AttachmentController.uploadFile (/app/apps/server/dist/core/attachment/attachment.controller.js:82:34)
[Nest] 41  - 04/07/2025, 9:12:38 AM   ERROR [AttachmentController] BadRequestException: Error uploading file to drive
    at AttachmentService.uploadToDrive (/app/apps/server/dist/core/attachment/services/attachment.service.js:156:19)
    at async AttachmentService.uploadFile (/app/apps/server/dist/core/attachment/services/attachment.service.js:60:9)
    at async AttachmentController.uploadFile (/app/apps/server/dist/core/attachment/attachment.controller.js:82:34) {
  response: {
    message: 'Error uploading file to drive',
    error: 'Bad Request',
    statusCode: 400
  },
  status: 400,
  options: {}
}


Is there an official solution out there?

  • Author

this is a permission issue 
please check the permission of 

/mnt/user/appdata/docmost/data

 

or let me know  the directory you use for "Storage" Path env

Edited by ZappyZap

  • 3 weeks later...

1. Redis Official

2. Postgresql15

3. Docmost

 

  • First install Redis Official will all defaults - no need to change anything
  • Postgres 15 works without problem. Must put password then User: docmost, DB: docmost and rest by default if port is clean for use.
  • Docmost is tricky but can be done.
  1. Storage: /mnt/user/appdata/docmost/data
  2. Application URL: http://0.0.0.0 - your IP unraid - later when you want to go NginxPM dont need to change anything (tested, working)
  3. Application Secret: YLAUBSOLDFUlVEnDenTEAUKEMIXtRiIP or google yourself 32 lenght pass and generate
  4. Database URL: postgresql://docmost:your-pass we make for [email protected] unraid ip:5432/docmost?schema=public the rest no need to change!
  5. Redis URL: redis://0.0.0.0 your unraid ip:6379

If you folowed this then problems are gone and the problem with uploading img and all we can reslove in 1 minute

  • Open File Manager in unraid and navigate to user/appdata/docmost/ there will be our folder named data on right till end of line is Action the under you have + and press Permission > there you can change all to Read/Write and thats all.
  • 8 months later...

Hey, I am struggling to get this working and I am hoping you can help. Docmost container starts successfully, but the webui wont load (unable to connect error).

Setup

  1. Install Redis (https://hub.docker.com/_/redis/)

    1. Leave all default

  2. Install Postgres18 (https://hub.docker.com/_/postgres/)

    1. POSTGRES_PASSWORD: WGcByz9E0q6E7cvKZy2o (I'll replace when this is working)

    2. POSTGRES_USER: gbl

    3. POSTGRES_DB: docmost

    4. Other values left at default.

  3. Install Docmost

    1. Storage: /mnt/apps/appdata/docmost/data

    2. Application Secret: [32 key secret]

    3. Database URL: postgresql://docmost:WGcByz9E0q6E7cvKZy2o@docmost:5432/docmost?schema=public

    4. Redis URL: redis://172.17.0.17:6379

    5. WebUI: 3002 (conflict on 3000)

      1. WebUI (the url in the top section): https://[IP]:[PORT:3002]

Steps so far

  1. Access WebUI (https://192.168.1.183:3002). Unable to connect error.

  2. Try http instead of https. No change.

  3. Try to config postgres credentials as per guide: https://github.com/devzwf/unraid-docker-templates/blob/main/guides/Quick-Start-Guide-Docmost.md

    1. Try to set a password for the postgres user via postgres console with `su - postgres`. Connection to server failed.

      1. image.png

    2. Try to set a password for the gbl user via postgres console with `su - gbl`. User not found.

      1. image.png

  4. Try to review the docmost log, but the window auto closes on opening!

  5. Removed Postgres18. Deleted appdata folder. Added Postgres15. No change.

  6. Removed Docmost and readded. No change.

Not sure what to do next! Any help would be greatly appreciated.

Edit (Resolved)

  1. Set docmost Database URL : postgresql://[postgres user]:[postgres pw]@postgresql15:5432/docmost (obv replacing brackets with actual values)

  2. Set docmost Application URL : [server IP]:[port] (again replace brackets with values)

  3. Change container names to lowercase. (could have updated the references instead).

  4. Add redis, postgres, and docmost to same docker network.

Hope it helps someone in the future.

Edited by snayff

  • 1 month later...

I have an error when I tried to install this container:


/app/apps/server:

 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  [email protected] start:prod: cross-env NODE_ENV=production node dist/main

Exit status 1

 ELIFECYCLE  Command failed with exit code 1.

> [email protected] start /app

> pnpm --filter ./apps/server run start:prod

> [email protected] start:prod /app/apps/server

> cross-env NODE_ENV=production node dist/main

 ELIFECYCLE  Command failed.

It continually loops. It looks like an PNPM error but I cant resolve the issue. Anyone else have the same problem?

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.