Dochub is ArchOps tool. Dochub allows describing architecture as a code.
Dochub supports:
Dochub allows solves issues with:
- Versioning Architecture;
- Decentralized architecture management in Agile-oriented companies;
- Ecosystem Architecture Management;
- Unified portal of documentations;
- Consistency control;
- Extensible metamodel
Dochub provides to manage architecture using Git.
DocHub can use external git repositories as external sources. It allows developing different parts of big project with several teams.
DocHub is built with today's challenges in ecosystem architecture management in mind. In it, the products are interconnected, but develop autonomously. DocHub allows you to create a single information space for the ecosystem. Stimulates positive product synergy.
DocHub is the simplest way to a centralised documentation portal.
DocHub can find problems in the description of the architecture.
МThe DocHub math model can be extended as you wish. It is possible to both modify existing entities and create your own.
An example of creating the C4 Model notation
Dochub configures with environment variables. Example available in example.env
. Rename it to .env
cp -f example.env .env
Define the required environment variables in .env
Dochub is regular vuejs single page application (spa).
Pay your attention! Docker builds can be much longer than regular npm way.
Requirements:
- docker >= v20
- docker-compose >= v2.2.3
export DOCKER_BUILDKIT=1 # or configure in daemon.json
export COMPOSE_DOCKER_CLI_BUILD=1
git clone [email protected]:RabotaRu/DocHub.git
cd DocHub
docker-compose up --build
Requirements:
- nodejs >= 20
- plantuml with shade plugin
- you can deploy plantuml with docker as an external service
docker-compose up plantuml
- Configure
.env
VUE_APP_DOCHUB_GITLAB_URL=https://gitlab.example.com
- Install dependencies. Results will available at
./node_modules
directory.
npm install
- Build SPA. Static files available at
./dist
directory.
npm run build
- Serve with nodejs. Open http://localhost:8080/main in your browser.
npm run serve
You need the following components in order to work doсhub:
- Plantuml-server with shade plugin needs to render;
- Gitlab. Dochub uses gitlab as an auth.
- Create OAuth2 provider in your GitLab. https://docs.gitlab.com/ee/integration/oauth_provider.html.
flowchart LR
gitlab <--> dochub <--> plantuml
You can serve dochub like regular static site via nginx, s3 or something else.
Full VueJS documentation about deployment.
You can use the helm chart
Apache License 2.0 Open source license.