/hostyourdocs

Host your static documentation on your own infrastructure, easy, secure, and publicly accessible!

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

HostYourDocs

Host your docs on your own infrastructure, easy and secure!

repository mirror license pipeline status coverage report Code style: black Imports: isort

WARNING: BETA VERSION

This is a prototype. HostYourDocs is not battle tested and might exhibit unexpected behavior! HostYourDocs is currently undocumented and future changes in feature and behaviour may occur.

Features

  • Serve static docs and files
  • Organize projects with versions and tags
  • Authentication (currently admin only)
  • Project tokens (for CI/CD usage)
  • Minimal webinterface
  • Injects a footer menu to each HTML
    • Easy navigation
    • Legal stuff: Impress & Privacy

Demo Application

Documentation

Installation (Linux + Docker)

Make sure you have docker installed and the docker daemon is running.

Get The Required Files

Copy the docker-compose.yaml file and the envfiles/ folder from the ./docker directory in this repository to the desired path on your machine where you want to manage the service from. Then replace <TAG>, <PORT> and <PATH> according to your needs in the docker-compose.yaml file.

For the variable <TAG> our latest images can be found in the container registry.

Setup Environment Variables

In the envfiles/ directory create the environment files backend.env, db.env and shared.env according to the given envfiles/*.env.template files. Setup the variables listed below according to your needs.

The environment variables for the backend service envfiles/backend.env:

variable required info
SECRET_KEY yes Hex string with at least 32 bytes
NAME_HOSTED_BY no Provider name
LINK_HOSTED_BY no Provider website URL
LINK_IMPRESS no Provider impress URL
LINK_PRIVACY no Provider privacy URL
ROOT_PATH no Webserver root path for HYD

If you configure a root path, make sure to do the same for your reverse proxy.

The environment variables for the mariadb database envfiles/db.env:

variable required info
MARIADB_ROOT_PASSWORD yes See dockerhub#mariadb

The shared environment variables between the backend and database envfiles/db.env:

variable required info
MARIADB_PASSWORD yes See dockerhub#mariadb

Create Docker Volumes

Make sure to create the volumes required by the docker compose project:

# mkdir -p <PATH>/hyd/data_backend
# mkdir -p <PATH>/hyd/data_db

Start HostYourDocs

Execute the follow command from the directory with the HostYourDocs docker-compose.yaml file:

docker compose up

Set a reasonable admin password

  • Default credentials
    • Username: admin
    • Password: 1234

TODO set the new pw

License

This free and open source software (FOSS) is published under the GPLv3 license.