
Wiki.js - akandiah
https://wiki.js.org/
======
Keyframe
I need one function in a wiki platform that I haven't seen so far. When I
write text, in its WYSIWYG editor, I need an ability to paste in an image (a
screenshot that I just grabbed, let's say) and for it to automatically upload
it and embed it into text. Does this support something like that?

~~~
reacharavindh
This. Thousand times this.

I have been waiting for an online wiki with the usability of Apple Notes that
I use locally on all my Apple devices. It works like a charm except that I
cannot make it public.

This is why I often take notes rather than write blog posts on my website. If
the wiki software was as easy drag and drop as Apple Notes, I’d just take
notes and they turn into publicly available wikis!

I am yet to find that tool. I would happily pay for such a tool with one
braking condition that it must be self-hostable. I will not write my content
into something like Medium or Notion where I don’t own my content.

~~~
jve
This seems like it: ImgPaste plugin for DokuWiki

[https://www.dokuwiki.org/plugin:imgpaste](https://www.dokuwiki.org/plugin:imgpaste)
[https://github.com/cosmocode/dokuwiki-plugin-
imgpaste](https://github.com/cosmocode/dokuwiki-plugin-imgpaste)

------
schoolornot
This is exciting. A compelling FOSS alternative to Atlassian Confluence was
sorely needed.

Mediawiki has some UX and RBAC challenges that makes it difficult to scale to
large organizations.

~~~
oneplane
Since it's AGPL it will probably never end up in the same commercial use cases
as Confluence does.

Google has some motivations written down from their lawyer department:
[https://opensource.google/docs/using/agpl-
policy/](https://opensource.google/docs/using/agpl-policy/)

It boils down to 'not worth the risk, do not use'.

~~~
edp
OT, as the sole copyright owner of a web application I wrote, can I license it
under the AGPL for the general public, and license it under different terms
for clients who would prefer not to use AGPL software (and possibly pay for
it) ? is dual licensing allowed by the AGPL ?

~~~
bachmeier
That's not how licensing works. If you write the software, you can release it
under any license(s) you want. The license states the terms under which you'll
let others use the software.

~~~
edp
That's what I thought but wasn't sure. Thank you (and sibling comments) for
your comment.

------
tweetle_beetle
I'm looking to launch an internal wiki and Wiki.js came out on top for my
requirements:

\- easy to use for technical and non-technical staff alike: multiple editing
options

\- third party authentication: really comprehensive offering

\- quality search: comprehensive internal and third party search offering

\- ease of maintenance: largely everything is built-in, so no
module/dependency maintenance headaches

\- user management: solid user/group management system

With internal tools you need things to stick, and fast. As much as I am fond
of mediawiki, the editing experience is a barrier to usage for many. And the
extension ecosystem, while rich and diverse, is just more of a liability than
a single installation. A quality search is also really important to adoption,
so having options there is great.

I'd been using Docsify on a small scale with authentication through GitLab to
edit, GitLab CD to build and Cloudflare Access to secure the front end. It
works really well, but the lack of user management and the editing experience
mean that it's time to move on.

It would be great to hear if this is a case of the grass always being greener
on the other side.

------
mard
I'm not impressed. Wiki.js is supposedly "built with performance in mind", but
its documentation wiki [1] is much slower than any DokuWiki site I could find
[2]. It also requires JavaScript to be enabled in the web browser.

[1]: [https://docs.requarks.io/](https://docs.requarks.io/)

[2]: [https://www.dokuwiki.org/](https://www.dokuwiki.org/)

~~~
Rotten194
I find it really frustrating that every piece of software nowadays claims to
be "blazing fast" or "built for performance", usually with no benchmarks to
back it up. Makes it really hard to tell at a glance what the strengths of a
project actually are. I honestly would be very grateful if a project up and
said "we're not the fastest, but we trade performance for a simpler codebase
and easier extensibility. If you need to do some-performance-intensive-task,
try other-package instead".

------
Hamcha
docs.requarks.io, which is said to be using Wiki.js, straight up doesn't load
without Javascript, and even with Javascript enabled it's a multi-page
application that just feels slower browsing page to page than your average
10-year-old mediawiki install (probably also heavier on the backend).

Who exactly is asking for slower software?

~~~
areille
> Running on the blazing fast Node.js engine

Is Node.js that blazing-fast ?

~~~
freedomben
Surprisingly yes. It has billions of dollars or optimizations and research in
it over the years and can really fly. Of course you can write slow node code
just like you can in any language, but a single well-written node instance can
handle a lot of traffic.

~~~
sverhagen
Billions of dollars? I have no beef with Node, but that seems like a lot.
Could you elaborate?

------
aerojoe23
We needed a documentation solution at work. MY coworker had some experience
with Wiki.js. What sold me on it was that you can use markdown and it can keep
itself synced with a git repo.

This gives us plan text files that are tracked in a repo. It uses the user as
the author, so now I can "code review" edit's to our wiki.

The content of the wiki is easily cloned by cloning the git repo. It is
markdown in folders so if wiki.js dies at some point I could write a pandoc
script to turn it into web pages again, you do loose all of the cool UI
features.

------
heresie-dabord
I used a Wiki for a long time. But I try to minimise maintenance ("foist it
upon others"). I also try to resist the enthusiasm for Rube Goldberg machines
and for installing bad tooling (such as PHP).

Now that git has become ubiquitous, I prefer git with a self-hosted git-daemon
instance. git , grep , awk , and sqlite make a strong set of tools for
knowledge curation.

edit: minor grammar fix

~~~
ArtDev
Unnecessarily bashing PHP is soo 2005. Like javascript, it can be written
poorly due to its loose roots. Also just like javascript, it is a very
different language now.

That said, DocuWiki is pretty decent to get up and running quickly.

~~~
john-shaffer
I use PHP in my day job. It is by far the worst language I've ever used.
Nothing else even comes close. The language and ecosystem are so full of
footguns that you are bound to shoot yourself eventually. The OpenSSL
implementation will silently truncate the key [1][2] without even giving a
warning. The cURL lib, in 2020, still hasn't implemented a get_curl_opt
function. Sure you could wrap it if you're writing everything, but the reality
is I have to work in this nightmare ecosystem that just uses raw curl. Every
== comparison is still a potential security hole due to PHP's insane (and
inconsistent) typecasting behaviors. Sometimes a number gets cast to a string,
but a string gets cast to a number if you use it as an array key. WTF? Do I
have to wait another 15 years for PHP to become a halfway decent language?

[1]
[https://github.com/WP2Static/wp2static/pull/506](https://github.com/WP2Static/wp2static/pull/506)

[2] [https://stackoverflow.com/questions/55062897/decrypt-
aes256-...](https://stackoverflow.com/questions/55062897/decrypt-aes256-on-
python-vs-php/55063033#55063033)

~~~
heresie-dabord
> The language and ecosystem are so full of footguns

"footgun" is an excellent term. Here's an earlier use on HN, 2010:

[https://news.ycombinator.com/item?id=1904960](https://news.ycombinator.com/item?id=1904960)

~~~
kmill
I've wondered whether the term directly evolved from this sort of joke list
that was popular to pass around on the early internet:
[http://www.personal.psu.edu/sxt104/program1.html](http://www.personal.psu.edu/sxt104/program1.html)

~~~
codezero
I assume it evolved not long after guns existed, and likely grew in the
military :)

~~~
kmill
"Shooting yourself in the foot," sure, but if you look up "footgun" it seems
to only be programming slang. What I was suggesting with the above comment was
that this sort of list might have popularized the metaphor of shooting
yourself in the foot in programming, which was then was subjected to hacker-
style word manipulation.

~~~
codezero
Ah fair, yep, that's probably right.

------
oneplane
I wonder why it's AGPL and not dual-licensed or some different GPL. As it is
right now it's dead in the water for any commercial usage unless you're
manually installing the thing on a manually installed server somewhere (which
you probably aren't).

With automation you'd build images based on their images but run via your own
CI/CD with your own security scans and any additions you might need (like
additional logging infrastructure). Doing that is not possible with AGPL.

~~~
gary-kim
At least for me, the fact that it is purely licensed under the AGPL and that
the copyright is owned by multiple people makes me far more comfortable with
using it. It's a guarantee that the project will remain open source so I don't
have to worry about suddenly being in a situation where I have to migrate away
because the company or person decided that they don't want to have this be
free and open source software anymore.

I guess, to a certain extent, that's because I'm an individual, not a company,
and one that tends to open source pretty much everything they write. This is
the same licensing that I use for pretty much all my projects (AGPL with no
CLA).

~~~
mekster
> It's a guarantee that the project will remain open source

What are you talking about? They can change the license to a closed one from a
certain version in the future.

~~~
fungos
For future versions, not past versions.

~~~
hundchenkatze
I don't think any of the mainstream open-source licenses allow you to
retroactively revoke or change the license.

~~~
fungos
If they are the sole copyright owners (no external contribution) or have SLAs,
they can for any future version of the software. It is not uncommon, it is
just hard as most doesn't have SLA to do this.

~~~
cxr
> If they are the sole copyright owners (no external contribution)

That's not the scenario gary-kim laid out; you've failed to satisfy the
constraints in the premise.

~~~
fungos
Read better, I'm not replying to him. I agree with him.

~~~
cxr
_Reply_ better.

I know who you're replying to. The premise that gary-kim laid out is still the
relevant context. The hypothetical you're laying out, on the other hand, is
not relevant, it's at odds with that premise (not in "agree[ment] with him"),
and it's derailing the thread. (Which is the same reason your "future
versions, not past versions" is downvoted, for that matter.)

~~~
fungos
Right. _they_ were not meant to be Wiki.js, but ANY open source project. And
was a meant to indicate the same subject as _any_ in this reply:

> I don't think _any_ of the mainstream open-source licenses allow you to
> retroactively revoke or change the license.

My reply is in this context, not in the parent's parent which you mean as
_relevant_ context. If I wanted to include the parent context the reply would
be more specific. This was a __direct __reply to a specific message. This is a
very normal way to reply on the internet, HN is not special.

~~~
cxr
Try rewriting history if you want, but the thread goes off-topic as soon as
mekster suggests the project change the license, and your reply there only
feeds into it. And it still doesn't explain how you can claim that your
comment was meant to "agree" with gary-kim's.

> My reply is in this context, not in the parent's parent

The parent's parent at that point is... your comment, "For future versions,
not past versions," which was off-topic.

> This is a very normal way to reply on the internet

Indeed, it's common for people to lose the plot in the comments section and
then get defensive (and smug) while being wrong, e.g.:

[https://news.ycombinator.com/item?id=23250829](https://news.ycombinator.com/item?id=23250829)

~~~
mekster
> mekster suggests the project change the license

When have I suggested the project change the license??? I only said it is
possible.

------
w-ll
I'd atleast expect a demo, and the homepage to be running on said wiki.

~~~
bauerd
There's a link to a demo in their README:
[https://docs.requarks.io/demo](https://docs.requarks.io/demo)

~~~
edaemon
Their demo link there didn't work when I tried it, it's looking for the non-
existent master branch. The docs site itself
([https://docs.requarks.io/](https://docs.requarks.io/)) is running on
Wiki.js, though.

------
Nuzzerino
I've been using Wiki.js for several months now on a production project (self
hosted). It has worked nearly flawlessly for me so far. No complaints. Setup
was a piece of cake too.

------
dheera
Just a minor nitpick. If there isn't an actual file called "wiki.js" that is
self-contained, I would prefer it be called WikiJS instead of "Wiki.js" to
avoid confusion. In general when I see ".js" I expect to see a single file I
can import that does something useful to my code.

------
techaddict009
Can I know what exactly this numbers are "15M+ Installations" On your home
page.

I mean thats too large number. Is this of all open source software or I am
misunderstanding something else?

~~~
jjice
I'm assuming that's for every single download, including testing. I know that
when I use a service for the first time, I do a few installs while getting
used to the software and its configuration. I'd assume they'd have no other
way to verify installs (assuming there is no telemetry).

------
yreg
Wikis are also useful for note-taking, I'm using Wiki.js to document a D&D
campaign to have some canonical reference of what actually happened in past
sessions.

~~~
pspeter3
Why did you pick Wiki.js for campaign management as opposed to something like
Notion?

~~~
jdironman
Big fan of Notion here for both documentation, task management, and general
brain dumps. Only worry I have is one day they go away and I have to migrate
off how much of a pain that would probably be. It feels locked in, maybe i am
wrong

------
gwbrooks
I keep a v2 instance running on my Windows laptop solely for taking notes and
keeping need-it-eventually information organized.

It's just enough added structure and functionality to make the whole body of
notes more useful, without having to learn a formal system or adopt someone
else's idea of what my note hierarchy should look like.

------
ddevault
Can we please not have SPA's eat wikis, too? Text-only content does not
need... (checking...) 6.3 MB of JavaScript to display (checking...) 3.3 KB of
text. Blank pages with JavaScript disabled or in non-mainstream browsers is a
really terrible experience for content so plainly simple to display.

~~~
cxr
Wikis also don't need (or indeed, even permit) cumbersome Git and PR-based
workflows just to get changes into the "wiki". Better for it to be a single-
page app that actually implements a wiki, than to provide a service that
doesn't actually support wikis but has no qualms about throwing the word
around anyway.

------
captn3m0
I've used the 1.x release, and the Mongo requirement was always a bit of a
pin. I think v2 fixes that, but I haven't yet upgraded. Anyone has feedback on
v1 vs v2?

~~~
progval
Looks like they stopped using MongoDB: [https://blog.requarks.io/the-switch-
to-rdbms/](https://blog.requarks.io/the-switch-to-rdbms/)

------
lukaszkups
Is it possible to output static-file-based wiki? (so some static HTML/CSS/js
?)

------
amq
I was looking into open source knowledge / wiki base solutions recently, and I
found [https://www.getoutline.com/](https://www.getoutline.com/) to be the
most usable.

~~~
Vaslo
10 bucks a month though...

~~~
vladvasiliu
For the hosted version.

You can host your own for free:
[https://github.com/outline/outline](https://github.com/outline/outline)

~~~
FalconSensei
then you have to pay your host

------
dvno42
I've been using 2.x since Jan and have really liked it. I'm using it in docker
with postgres iirc for a small team for infrastructure documentation. Very
markdown friendly and gets the job done while looking nice.

------
amelius
In case anyone was wondering, the dependencies are:

    
    
        Node.js 10.12 or later
    
        MySQL, MariaDB, PostgreSQL, MSSQL or SQLite3
    

Is it possible to install and run all of these as a non-root user?

~~~
acoard
Even better, you can run these in Docker as non-root. Security wise, while
this wouldn't make your app itself more secure, it would insulate your host OS
from getting infected. I just checked and they even have one-liner Docker
commands that do just this:

    
    
        docker run -d -p 8080:3000 --name wiki --restart unless-stopped -e "DB_TYPE=postgres" -e "DB_HOST=db" -e "DB_PORT=5432" -e "DB_USER=wikijs" -e "DB_PASS=wikijsrocks" -e "DB_NAME=wiki" requarks/wiki:2

------
bobbydreamer
Like the common theme all this wiki and outline are having 3 pane window any
for Bootstrap it.

------
cptskippy
I like the way the documentation is laid out, does that conform to a standard?

------
Marioheld
Does anyone has a comparison to Bookstack?www.bookstackapp.com

------
favadi
For personal wiki, nothing beats the simplicity of tiddlywiki.

------
kinganurag
i love this platform, i will suggest this to all my friends and clients :)

------
amelius
Why is there a Linux Tux logo next to macOS?

~~~
mbrd
They are separate items in the horizontal list:
[https://wiki.js.org/img/linux.3297c180.svg](https://wiki.js.org/img/linux.3297c180.svg)
[https://wiki.js.org/img/macos.96f6d85a.svg](https://wiki.js.org/img/macos.96f6d85a.svg)

------
hombre_fatal
Slightly related PSA:

Everyone should consider running a wiki locally just for yourself. It's like
being able to organize your brain. I just got into it two days ago and
basically spent the whole weekend dumping things into it in a way I can
actually browse and revisit, like the short stories I'd written, spread out
across Notes.app and random folders.

You don't need to run WAMP, MySQL, Apache, phpmyadmin or anything. Here are
the steps for someone, like me, who hadn't checked in a while:

0\. `$ brew install php` (or equiv for your OS)

1\. Download the wiki folder and `cd` into it

2\. `$ php -S localhost:3000`

3\. Visit
[http://localhost:3000/install.php](http://localhost:3000/install.php) in your
browser

I tried DokuWiki at first (has flat file db which is cool). It's simpler, but
I ended up going with MediaWiki which is more powerful, and aside from
Wikipedia using it, I noticed most big wikis I use also use it
([https://en.uesp.net/wiki/Main_Page](https://en.uesp.net/wiki/Main_Page)).
MediaWiki lets you choose Sqlite as an option, so I have one big wiki/ folder
sitting in my Dropbox folder symlinked into my iCloud folder and local fs.

Really changing my life right now. The problem with most apps is that they
just become append-only dumping grounds where your only organizational power
is to, what, create yet another tag?

My advice is to just look for the text files scattered around your computer
and note-taking apps and move them into wiki pages. As you make progress, you
will notice natural categories/namespaces emerging.

I just wish I started 10 years ago.

~~~
keithnz
I did start similar things over 10 years ago. Where I am at these days is just
text files ( markdown ) nested into folder structures. I've found this the
most sustainable for quite a few years and it's been super useful. Main thing
is, do whatever, as long as you find it easy to sustain.

~~~
zeta0134
This is what finally replaced Google Keep for my shopping list and then
eventually everything else. I use Markor and Syncthing on my phone, and a
standard text editor on my various computers. It is super nice especially to
be able to organize the directory using standard file management tools, search
using grep and friends, etc. There is something to be said for simplicity.

~~~
Geezus_42
+1 for Markor, also available on fdroid

------
jadia
I started using Wiki.js over a year ago to maintain documentation related to
system admin duties.

We run this in a docker container with SQLite database and backup the database
daily to another server.

The private and public pages feature fits perfectly to our use case. We show
system information, how-to guides and rules on the public pages and manage
sysadmin documentation with restricted access.

------
load
If it doesn't run on MediaWiki, I'm not into it.

~~~
eitland
DokuWiki used to be very much better for my use cases: easier to hack on/make
plugins for and more built in functionality and less dependencies on top if
that since it store the pages as flat files instead of using a DB.

~~~
load
Hmm. I'll go check it out.

The main thing I'm worried about with other wiki software (including Wiki.js)
is that if it's compatible with gadgets, userscripts and all of the other neat
tools already available.

It doesn't have to be MediaWiki, or even a distant relative of it. It just has
to work with them.

------
kontxt
Kontxt ([https://kontxt.io](https://kontxt.io)) could be a perfect inline
communication and engagement layer to enhance wikis and docs with inline
highlights, comments, polls, @mentions, page navigation, shareable deep links,
and permission-based sharing.

~~~
emiliovesprini
Did... did kontxt.io write this?

Oh wait yeah.

~~~
kontxt
Hello emiliovesprini! You are correct. That's actually why the username
"kontxt" was specifically selected. Decided to share here because people
exploring the wiki and documentation space might find it useful. Best regards
fellow code creator.

