Readme#

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.