No description
  • Go 71.3%
  • HTML 23.5%
  • CSS 2.1%
  • Shell 1.8%
  • Makefile 1.3%
Find a file
2019-08-24 17:42:02 +02:00
img added reindexing 2019-08-24 17:42:02 +02:00
pkg added reindexing 2019-08-24 17:42:02 +02:00
scripts added linux install script 2019-08-03 20:48:12 +02:00
templates added reindexing 2019-08-24 17:42:02 +02:00
vendor updated dependencies 2019-08-24 14:28:46 +02:00
.gitignore more work done 2019-05-01 22:25:23 +02:00
COPYRIGHT initial commit 2019-04-19 15:45:28 +02:00
go.mod updated dependencies 2019-08-24 14:28:46 +02:00
go.sum updated dependencies 2019-08-24 14:28:46 +02:00
LICENSE initial commit 2019-04-19 15:45:28 +02:00
main.go ready for v1.0rc1 2019-05-06 21:14:24 +02:00
Makefile ready for v1.0rc1 2019-05-06 21:14:24 +02:00
README.md added reindexing 2019-08-24 17:42:02 +02:00
sri.sh initial commit 2019-04-19 15:45:28 +02:00
templates.sh finished tag implementation 2019-08-24 14:27:58 +02:00
VERSION first working version 2019-04-28 18:16:40 +02:00

DocStore - document server and indexing engine

Building

Requirements:

  • Go (golang) >= 1.12

Linux:

make

or offline

make vendor

OpenBSD:

GOOS=openbsd make

or offline

GOOS=openbsd make vendor

Install

See the scripts/ directory on how to install docstore on Linux or OpenBSD.

Config

{
	"run_dir": "/var/lib/docstore",    // running directory. data will be stored here
	"user": "docstore",                // drop privileges to user
	"group": "docstore",               // drop privileges to group
	"listen_addr": "127.0.0.1:8080",   // listening <address>:<port>
	"log_file": "docstore.log",        // log file (use - for stdout, this only works in combination with 'foreground: true')
	"secret": "",                      // static hmac secret (at least 64 chars, used for JWT signing)
	"langs": ["deu", "eng"],           // languages for tesseract ocr
	"cmd_timeout": 600,                // timeout in seconds for executed teseract and pdftotext commands
	"tesseract_threads": 1,            // tesseract thread limit
	"tesseract_oem": 1,                // tesseract oem value
	"foreground": false,               // do not fork into the background
	"secure_cookie": false,            // enable secure cookie flag
	"debug": false                     // enable debugging
}

Features

  • Fulltext indexing of documents
  • Custom regex based tags (see https://golang.org/pkg/regexp/syntax/)
  • Password hashing using BCrypt
  • 2FA using TOTP
  • Content Security Policy
  • No Javascript (yet)

DocStore on OpenBSD

DocStore makes use of the OpenBSD native security features pledge(2) and unveil(2).

Usage

DocStore manages all files and directories under the $run_dir/data directory.

Do not delete or move files around in the $run_dir/data directory using the filesystem as this messes with the index mapping.

You can however add more files and directories using the underlying file system.