Install Docmost
Set up the company's own wiki where several people can write at the same time, with spaces, page history and text search.
Last reviewed:
What Docmost is
A wiki for the company. You write pages, put them in spaces and hierarchies, and everyone sees the same text updated in the same second. Two people can write in the same document at the same time without overwriting each other.
A wiki is not a notepad. The point is that the answer to a question is written down once, in a place everyone can find. Where do we buy the raw material? What did it cost last time? Who do we talk to at the supplier? In a company where people come and go, this is the difference between knowing something and remembering that someone knew it.
Docmost has page history, comments in the margin and a search function that looks inside the text itself. You can also share a single page publicly, which is convenient when you want to show a customer or partner how you work without giving away everything.
This is a server program
Docmost does not run as a program on your computer. It needs three parts that talk to each other: Docmost itself, a database called PostgreSQL, and a cache service called Redis. Docker sets up all three at once. If you do not have Docker, start with Install Docker.
There is also a paid cloud version from Docmost itself. The price is listed at docmost.com.
Windows and Linux Mint
The same file on both. Create a folder called docmost in the home folder, that is in C:\Users\ert-namn on Windows and in /home/ert-namn on Linux Mint. Put a text file in the folder called compose.yaml:
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'http://localhost:3000'
APP_SECRET: 'BYT_UT_MIG_1'
DATABASE_URL: 'postgresql://docmost:BYT_UT_MIG_2@db:5432/docmost'
REDIS_URL: 'redis://redis:6379'
ports:
- "3000:3000"
volumes:
- docmost:/app/data/storage
restart: unless-stopped
db:
image: postgres:18
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: BYT_UT_MIG_2
volumes:
- db_data:/var/lib/postgresql
restart: unless-stopped
redis:
image: redis:8
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
docmost:
db_data:
redis_data:
BYT_UT_MIG_1 is a long random string, preferably thirty characters or more. On Linux Mint you get one with openssl rand -base64 32, on Windows the password generator in your password manager works just as well. BYT_UT_MIG_2 is the database password and appears in two places in the file. Both must be exactly the same string.
Open the terminal and go into the folder. On Windows that is PowerShell:
cd $HOME\docmost
On Linux Mint the program is called Terminal:
cd ~/docmost
Then start:
docker compose up -d
If Docker answers that no compose.yaml was found, you are in the wrong folder, and the cd line is what is missing. Then wait a few minutes while the database is set up and open http://localhost:3000. The first time you create the workspace and the owner account. We ran exactly this setup and got in without any extra fiddling.
One thing to be clear about before you invite anyone: localhost always points to your own computer. The wiki only exists on the machine where the container runs, and a link sent to a colleague leads to the colleague's own computer. For writing the first pages and seeing how it works, that is enough. If the company is to read and write at the same time, Docmost must run on a machine that is switched on and reached at that machine's address. Then APP_URL also changes, and the last section covers what happens if that line is wrong.
Use the company's shared email address for the owner account, not someone's private one. Otherwise the whole workspace depends on a single person who leaves.
Three things to do first
- Create two spaces right away: one for internal use, one for what can be shown externally. It is much easier to keep them apart from the start than to move fifty pages in March.
- Invite the rest of the company from the settings and assign the right role to each person. Not everyone needs to be able to delete spaces.
- Write the first real page before you tinker more with the settings. A page called How we handle an incoming order is worth more than a perfect structure with no content.
The most common trap
Setting APP_URL to the wrong address. Docmost builds its links from that line, which means links in invitation emails, shared pages and everything that happens when you click around. If it says http://localhost:3000 but the company reaches the server on an IP address, everyone ends up on their own computer instead of on the wiki. The page seems to work for the person who set it up and for no one else.
Fix it by entering the address users actually use, for example http://192.168.1.42:3000, and running docker compose up -d again. If you change APP_SECRET afterwards, however, everyone is logged out at once, so you set that line once and then leave it alone.