Once you've been doing something for a while you amass some knowledge in it, as you do that thing longer it's not unexpected to know that you've done something around the subject before but cannot for the life of you remember how.
In my case this is IT and the Homelab, IT is such a fast-paced, forward moving sector which also in many cases has a lot of legacy which can be forgotten as that forward motion takes place.
Over the years I've used a few self-hosted Knowledge base products and a few Saas ones each having different pros and cons.
The one format however I like above just using a wiki is the Questions/Answer format of a product like StackOverflow (for Teams).
There is of course a cost associated with most SaaS products and sometimes it's useful to host this type of thing yourself.
What is this?
This post is about https://answer.dev/ a self-hosted Question and Answer knowledge base with some striking similarities to the above mentioned product.
The basic concept is a very simple one, it's one we are all used to using. We have a question, we put that out to a community, the community feeds back and answers that question (or you answer it yourself) and answers get voted up or down based on the responses...
This is coupled with a tagging system and a search engine to help people find that information when needed.
How is it installed?
You'll need access to a MySQL server if you'd like to do much more than testing with this software.
Head over to the project's GitHub Page
There are 3 methods for running the software Docker, Docker-compose and a Binary
For these instructions, I'll go through a basic docker install. You'll need docker-ce installed on your OS, Instructions for installing docker can be found here: https://docs.docker.com/engine/install/
Using the Docker Run command
Run the following docker command
docker run -d -p 9080:80 -v answer-data:/data --name answer answerdev/answer:latest
This will download the latest version of answer and run the service on port 9080 on your PC.
You'll be able to access the service in a web browser on your local PC using
If you want to change that port feel free
There is some initial setup to run
After you start the answer, you can follow the steps below to complete the initialization about the basic configuration.
Step 1: Choose the language
Step 2: Config database
Answer supports MySQL, PostgreSQL, and SQLite as the database backend.
The smallest environment is SQLite, which does not require any additional configuration.
If you want to use MySQL or PostgreSQL, you need to setup the database first and then configure the database connection in this step.
Here we recommend using sqlite3 to complete your first experience.
Step 3: Create a configuration file
Click the Next button to create the configuration file.
Step 4: Fill in basic information
Site URL is the browser address you will use to access answers after installation.
Don't forget the admin Email and password.
Step 5: Complete
🎉Congratulations, you can click the done button to start your answer journey!
This should then take you to a screen you can login
How do you use it?
The first step is to log in using the credentials you setup during the setup above
Once you've logged in head over to the top right and click on Settings
Within this section, you can setup your profile, avatar, user name and other details relating to your account
Head back over to the top right, this time click on Admin
Under Admin site wide settings are setup, there are a lot of options under here around managing content, users, setting up branding and if you want to point this public providing SEO links
The one which needs to be setup first however is the Mail system, otherwise, you'll not get notifications if you forget passwords (at the very least)
The other useful area to look under, especially if you do want to run this within a business or a group is under Login
These options will ensure only the people you want to login can login.
Its worth having a look at the other options
Finally, click on the top right and click on Review
The review will initially be empty, over a period of time, documents will be listed here which need review so they are considered fresh and relevant.
Questions and Answers
Once the base setup has been done, how do we do the thing we came here for, to ask questions?
Up in the top right again there is an Ask Question button
Clicking on that will display the Add question dialog
Asking good questions is all about providing all the information you can and would help to answer the question. There is a handy guide to the right on formatting questions.
The body of the question has a pretty stock formatting toolbar.
When asking questions it's a good idea to start tagging them
Typing in the search box will return any tags which already exist, otherwise if the privileges(under Admin) allow it, the user can add more tags
Tags help with searching and sorting data.
Once the question is written, formatted and tagged you have two options
If you'd like the community to answer the question, click on Post your question or if you are wanting to share a Question/Answer with a community click on the Answer your won question checkbox
Answering the question provides a similar text box with the same formatting capability.
Once you've answered the question click on Post your question and answer.
Simple as that.
It's all well and good collating all this information gold, if you can't then find it that's a problem.
The search functionality in Answers isn't without its flaws, however, in the most part it's been able to find what I'm looking for.
Type what you're looking for in the search bar and open the relevant returned answer
If you have another answer this can be added, or you can vote the answer up if needed.
While Tags might be helpful for search they are helpful if you have Subject Matter Experts (SME's) who can follow Tags on their specialist area and be notified if questions are raised.
As a project, there does seem to be an up-to-date community with Issues and roadmaps being tracked in Github and an active Discord page for questions as well.
Whenever Ido a regular search of the internet for a Knowledge base I can self-host, its the usual swarm of people telling me to step back to the 80s and use a Wiki or the dated phpmyfaq. I stumbled on this by accident and its really helped me.