Cause: You are most likely using a reverse proxy such as nginx or apache.
Resolution: Increase your reverse proxy configuration for file uploads.
Cause: CloudFlare performs some "optimizations" to some files during delivery. This breaks the integrity signatures of the files which are then blocked by the browser.
Resolution: In the Cloudflare dashboard for your site, create a new Page Rule. Enter the root path, in the following format:
wiki.yourdomain.com/* and add the following settings:
Save and Deploy.
Cause: Wiki.js cannot be used / installed in a subfolder.
Resolution: Use a sub-domain instead (e.g.
Cause: Some Linux installations prevent Node.js from binding to ports in the lower range (e.g. < 1024). This occurs if you set a port such as 80 in config.yml.
Solution A: Allow the node process to safely access the port requested:
# Ubuntu / Debian sudo apt-get install libcap2-bin sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``
Solution B: Create a port redirection rule: (In the example below, you must set the port to 3000 in config.yml)
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
Solution C: Use a web server in front of Wiki.js. For example, use nginx to listen to port 80 / 443 and proxy all requests to Wiki.js running on a higher port (e.g. 3000).
Cause: Another program is already listening to this port.
Resolution: Use another port for Wiki.js or look for applications that could be using this port (web servers, http applications, etc.) and stop them.
Cause: This error is shown when attempting to load the site before the server is done initializing.
Resolution: Simply reload the page again.
If you are unable to load the site because of a SSL certificate error, you can manually disable SSL Redirection.
In the database, under the
settings table, you must set the
sslRedir property to false for the
Restart Wiki.js to load the new setting.
When running PostgreSQL inside a docker container (e.g. DigitalOcean / AWS official image), you can run the following commands:
docker exec db psql -U wiki -d wiki -c "DELETE FROM settings WHERE key = 'server';" docker restart wiki
The only way to change a password, without access to the web UI, is via the database. Use a tool like pgAdmin (postgres), DBeaver (mysql, mariadb), SQL Management Studio (mssql) or DB Browser for SQLite.
Connect to your DB, browse to the
users table and locate your user.
Edit the password column and insert a new bcrypt-formatted value. You can use a tool like https://bcrypt-generator.com/ to generate one. The number of rounds must be 12.
It is NOT possible to read the current password value. Passwords are stored using a one-way bcrypt hashing process, which is not reversible. You can only overwrite it with a new value.
When running PostgreSQL inside a docker container (e.g. DigitalOcean / AWS official image), follow these steps:
HASH-PASSWORDwith the hash generated in step 1 and
YOUR-EMAILwith the email address of the account you want to reset:
docker exec db psql -U wiki -d wiki -c "UPDATE users SET password = 'HASH-PASSWORD' WHERE email = 'YOUR-EMAIL';"
Cause: You did not set the
Site URL in the Administration Area.
Resolution: In the Administrator Area, under General, set the Site Url.
Cause: The user used by Wiki.js to connect to the DB must use
mysql_native_password. The newer
caching_sha2_password method introduced in MySQL 8.0 is not yet supported in Node.js. Support will be added when the functionnality is made available in Node.js drivers.
Resolution: You can change an existing user to use a
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Starting in version 2.1, a new HTML sanitization step is added by default to the rendering pipeline. This feature prevents potentially unsafe HTML tags / properties from being present in the final render. Any HTML tag or property that isn't whitelisted will be rendered as plain text.
If you are the sole editor / trust your editors, you can disable this feature in the Administration Area, under Rendering > HTML > Security > Sanitize HTML.