Quentin Guidée

Vertex

Creator

Feb. 2023 to Today

GoReactGitGitHubGitHub ActionsSonarCloudHTML5CSS3SassDockerJavaScriptTypeScriptAffinity DesignerVite
Creation of Vertex, an open-source self-hosted manager. This is like a small AWS or Google Cloud platform, but created especially for individuals and small businesses. It allows to manage instances, network, updates, databases, analytics, and more.

About

The Vertex project, started in 2022, makes the task of self-hosting way easier than ever. It allows to setup a server at home in a matter of minutes, and to manage it easily.

Monitoring

Vertex comes with a built-in monitoring system that allows to monitor the health of the server. The data are updated when an event occurs in Vertex. These changes are then automatically gathered by an instance of Prometheus. These data can then be visualized with Grafana, a powerful tool known for its powerful dashboards.

Vertex monitoring

Instances

Vertex allows to easily create and manage instances. All instances are executed in Docker containers, and can be configured from the web interface without any knowledge of Docker.

Vertex instances
Vertex instance

There is also a built-in instance store that allows to install instances in two clicks.

Vertex store

Reverse Proxy

Vertex comes with a built-in reverse proxy. It allows to manage the subdomains of the server, and forward them to the right instance.

Vertex reverse proxy

Updates

Vertex takes advantage of the power of GitHub and GitHub Workflows by doing CI/CD. When a new version is released by the workflows, Vertex can then automatically be updated. A beta channel is also available to test new features before they are released. This also allows to have a higher software stability.

Vertex updates

Security

Vertex is built with security in mind. By using the latest technologies and best practices, Vertex is a secure and reliable solution to self-hosting. SonarCloud and GitHub are also used to detect vulnerabilities.

A Vertex Kernel is used to separate the sensitive parts of the server from the rest. This way, each part of the server can be isolated and run with different permissions. An overview of the Vertex infrastructure is available below. While this may seem complicated, Vertex takes care of everything for the user.

flowchart TB subgraph Your server subgraph vertex [<b>Vertex</b>] end subgraph proxy [<b>Vertex Proxy</b>] end subgraph sudo ["Superuser zone"] style sudo fill:#ff000040,stroke:#ff000090,color:#ff0000 subgraph kernel [<b>Vertex Kernel</b>] end subgraph docker [Docker Engine] style docker fill:#0055bb40,stroke:#0055bb90,color:#0055bb end subgraph ssh [SSH keys] end kernel --> docker kernel --> ssh end subgraph prometheus [<b>Prometheus /metrics</b>] end subgraph instances [Instance A<br>Instance B<br>...<br>Instance N] style instances fill:#0055bb40,stroke:#0055bb90,color:#0055bb end vertex -- Manages ---> instances vertex -- "Send sensitive requests (port 6131)" ---> kernel vertex -- "Makes accessible (port 2112)" ---> prometheus proxy -- Forwards requests ---> instances docker --- instances end You -- "Send requests (port 6130)" ---> vertex You -- "Send requests (port 80)" ---> proxy

And more...

Vertex is a project that is constantly evolving. New features are added regularly.

To learn more about Vertex, visit the repositories, or join the Discord Server. You can also visit the Documentation.