Wiki.js is open-source wiki-building software that takes the hard parts of building a wiki and makes them easy! Wiki.js seems to automatically do a great job at SEO, we have noticed several of our wiki posts appearing on first-page search results for terms like "AVideo Dockerfile". Wiki.js has a good search system and tagging system and has a lot of functionality being developed. We love Wiki.js and plan on growing our wiki on it for a long time to come! You can learn more about Wiki.js from the links below:
The True Freedom Tech Wiki proudly runs off of Wiki.js! The process for starting a wiki with this application is much easier than trying to design the same thing on something like WordPress (although there are definitely some plugins to make it easier). There are some competitors but wiki.js is the only great-looking one designed to be a wiki (check out Bookstack an application similar to wiki.js).
We will be running GitLab using Docker, Docker-Compose, Portainer, and Nginx Proxy Manager. We have an advanced course on how to do this at TrueFreedomTech.com covering multiple configurations and separating data from compute.
We are going to assume you already have a working server with Docker, Portainer, and Nginx Proxy Manager running. We will go over the compose for the stack and configuring Nginx-Proxy-Manager. We are not using our own images for this stack so please consult the Docker hub and GitHub links for more information regarding the Docker image and source code.
This is strictly how to get the app running. Once again, we cover how to do this at TrueFreedomTech.com in much more detail! This should be good enough to get beginners running, and experts should be able to adapt this to their own configuration with relative ease.
Step 1: Go to Stacks.
Step 2: Click Add Stack.
Step 3: Name your stack (Ex. wikijs).
Step 4: Paste in the contents below:
Step 5: Press Deploy the Stack.
![]() |
![]() |
![]() |
#Docker-compose version
version: '3.8'
#Apps
services:
#Name of app
wikijs:
#Docker image
image: linuxserver/wikijs:latest
#Docker network
networks:
- nginx-public
#App restart policy
restart: always
#App data
volumes:
- config:/config
- data:/data
#Environmental variables
environment:
#User ID
- PUID=1000
#Group ID
- PGID=1000
# Find more information about TZ here: (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
- TZ=America/New_York
networks:
nginx-public:
external: true
volumes:
config:
data:
Before we configure our apps, we will set up our domains using Nginx-Proxy-Manager. If you followed our Nginx-Proxy-Manager stack setup you should be able to copy everything we do step by step.
Step 1: Copy the Heimdall service name.
This should be wikijs_wikijs
if you did not change the names of apps.
Step 2: Log in to Nginx-Proxy-Manager and create a new proxy host.
Step 3: Enter your Domain name (Ex. wiki.example.com)
Step 4: Add the service name to the Forward Hostname / IP at port 3000.
Step 5: Enable Cache Assets, Block Common Exploits, and Websockets Support.
Step 6: Click Save.
Step 7 (Optional): Enable SSL (we say this is optional, but you should always have an SSL cert if possible).
![]() |
![]() |
![]() |
![]() |
After setting up your domain name it's time to finish configuring the app. Go to the URL you chose for your application. You should arrive at a screen like this!
![]() |
![]() |
![]() |
(If you do not arrive at a screen like this, something is wrong! Our premium members can open a support ticket Here!)
Step 1: Enter your admin email.
Step 2: Enter your admin password.
Step 3: Enter your site URL.
Step 4: Click Install.
Step 5: Log in with the admin account you just created.
You will arrive at the Wiki.js home page and have the option to jump right into creating pages or take a look at the administration page.
Congrats! This is the basic setup for Wiki.js, as mentioned at the beginning we have a more in-depth course available at TrueFreedomTech.com.