DOCAT alternatives and similar software solutions
Based on the "Document Management" category.
Alternatively, view DOCAT alternatives based on common mentions on social networks and blogs.
-
Paperless-ng
DISCONTINUED. A supercharged version of paperless: scan, index and archive all your physical documents -
Teedy
Lightweight document management system packed with all the features you can expect from big expensive solutions -
Docspell
Assist in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort. -
EveryDocs
A simple Document Management System for private use with basic functionality to organize your documents digitally -
paper{s}pace
a small web application to manage all your offline documents. Provides a searchable storage for your documents and reminds you of upcoming tasks.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of DOCAT or a related project?
Popular Comparisons
README
[docat](doc/assets/docat-teaser.png)
Host your docs. Simple. Versioned. Fancy.
Getting started
The simplest way is to build and run the docker container, you can optionally use volumes to persist state:
# run container in background and persist data (docs, nginx configs and tokens database)
# use 'ghcr.io/docat-org/docat:unstable' to get the latest changes
mkdir -p docat-run/db && touch docat-run/db/db.json
docker run \
--detach \
--volume $PWD/docat-run/doc:/var/docat/doc/ \
--volume $PWD/docat-run/db/db.json:/app/docat/db.json \
--publish 8000:80 \
ghcr.io/docat-org/docat
Alternative: Mount a dedicated directory to host db.json
:
# run container in background and persist data (docs, nginx configs and tokens database)
# use 'ghcr.io/docat-org/docat:unstable' to get the latest changes
mkdir -p docat-run/db && touch docat-run/db/db.json
docker run \
--detach \
--volume $PWD/docat-run/doc:/var/docat/doc/ \
--volume $PWD/docat-run/db:/var/docat/db/ \
--env DOCAT_DB_PATH=/var/docat/db/db.json
--publish 8000:80 \
ghcr.io/docat-org/docat
Go to localhost:8000 to view your docat instance:
[docat screenshot](doc/assets/docat-screenshot.png)
Local Development
For local development, first configure and start the backend (inside the docat/
folder):
# create a folder for local development (uploading docs)
DEV_DOC_PATH="$(mktemp -d)"
# install dependencies
poetry install
# run the local development version
DOCAT_SERVE_FILES=1 DOCAT_DOC_PATH="$DEV_DOC_PATH" poetry run python -m docat
After this you need to start the frontend (inside the web/
folder):
# install dependencies
yarn install --frozen-lockfile
# run the web app
yarn serve
For more advanced options, have a look at the [backend](docat/README.md) and [web](web/README.md) docs.
Push Documentation to docat
The preferred way to push documentation to a docat server is using the docatl command line application:
docatl push --host http://localhost:8000 /path/to/your/docs PROJECT VERSION
There are also docker images available for CI systems.
Using Standard UNIX Command Line Tools
If you have static html documentation or use something like mkdocs, sphinx, ... to generate your documentation, you can push it to docat:
# create a zip of your docs
zip -r docs.zip /path/to/your-docs
# upload them to the docat server (replace PROJECT/VERSION with your projectname and the version of the docs)
curl -X POST -F "[email protected]" http://localhost:8000/api/PROJECT/VERSION
When you have multiple versions you may want to tag some version as latest:
# tag the version VERSION of project PROJECT as latest
curl -X PUT http://localhost:8000/api/PROJECT/VERSION/tags/latest
Same thing with docatl
:
# tag the version VERSION of project PROJECT as latest
docatl tag --host http://localhost:8000 PROJECT VERSION
Advanced config.json
It is possible to configure some things after the fact.
- Create a
config.json
file - Mount it inside your docker container
--volume /path/to/config.json:/var/www/html/config.json
Supported config options:
- headerHTML
Advanced Usage
Hide Controls
If you would like to send link to a specific version of the documentation without the option to change the version, you can do so by clicking on the Hide Controls
button. This will hide the control buttons and change the link, which can then be copied as usual.