Rust-based Software development platform (forge) with built-in vcs, issue tracking and code review
112
stars
580
commits
TypeScript
primary language
Sep 7, 2026
updated
GitArena is a software development platform with built-in vcs, issue tracking and code review. It is meant as a lightweight and performant alternative to the likes of GitLab and Gitea, built with self-hosting and cross-platform/cross-architecture support in mind.
To see a demo, you may browse the source code of GitArena itself on my hosted GitArena instance: https://git.mari.zip/mellowagain/gitarena
.zip and .tar.gzmainRequirements:
Compiling:
$ cd gitarena
$ cargo build --release
Requirements:
Building:
$ cd gitarena-frontend
$ pnpm run build
You can either spin up everything via a Docker Compose or the backend and frontend separately.
A docker-compose.yml is provided to spin up all GitArena components:
$ docker compose up -d
In order to run the GitArena backend, the following environment variable needs to be set:
BIND_ADDRESS: Socket address to bind to, for example localhost:8080 or 127.0.0.1:80 (Port is required)DATABASE_URL: Raw Postgres connection stringOptional environment variables:
MAX_POOL_CONNECTIONS: Max amount of connections the Postgres connection pool should keep open and ready to use.NO_STDOUT_LOG: Set to any value to only write logs to the log file (and Otel, if configured)OTEL_SERVICE_NAME: Service name to be used for metrics, traces and logsObservability is provided through Otel and can be optionally enabled by setting:
OTEL_EXPORTER_OTLP_ENDPOINT: URL to a otlp endpointStandardized Otel environment variables are supported.
GitArena gets compiled as a normal binary so you can just run it.
After start GitArena will automatically create the required tables. Please edit the settings table to configure your
GitArena instance and restart GitArena. In the future this will be do-able in the web ui.
Afterwards, your GitArena instance will be fully set up and you can register
your account. In order to access the admin panel (/admin), please set
admin on your user account in the users table to true.
The frontend will now be reachable at https://localhost:8080/api or your configured hostname and port.
In order to run the GitArena frontend, the following environment variables need to be set:
NODE_ENV: set to productionNEXT_PUBLIC_API_URL: URL to the GitArena backend, defaults to http://localhost:8080Optionally you can set:
HOSTNAME: address to bind to, default 0.0.0.0PORT: port to bind to, default 3030Then run:
$ cd gitarena-frontend
$ pnpm run start
The frontend will now be reachable at https://localhost:3030 or your configured hostname and port.
Repository:

Repository commits:

File view:

Issues overview:

Issue detail:

Create repository:

Import repository:

Login:

Sign up:

Explore:

Search:

Releases:

GitArena is part of the Mintlify OSS Program, meaning we receive gracious support from them in the form of a free Mintlify Pro plan (normally $300/month) to host our documentation.
TypeScript
63.6%
Rust
33.9%
PLpgSQL
1.6%
Rust-based Software development platform (forge) with built-in vcs, issue tracking and code review
112
stars
580
commits
TypeScript
primary language
Sep 7, 2026
updated
GitArena is a software development platform with built-in vcs, issue tracking and code review. It is meant as a lightweight and performant alternative to the likes of GitLab and Gitea, built with self-hosting and cross-platform/cross-architecture support in mind.
To see a demo, you may browse the source code of GitArena itself on my hosted GitArena instance: https://git.mari.zip/mellowagain/gitarena
.zip and .tar.gzmainRequirements:
Compiling:
$ cd gitarena
$ cargo build --release
Requirements:
Building:
$ cd gitarena-frontend
$ pnpm run build
You can either spin up everything via a Docker Compose or the backend and frontend separately.
A docker-compose.yml is provided to spin up all GitArena components:
$ docker compose up -d
In order to run the GitArena backend, the following environment variable needs to be set:
BIND_ADDRESS: Socket address to bind to, for example localhost:8080 or 127.0.0.1:80 (Port is required)DATABASE_URL: Raw Postgres connection stringOptional environment variables:
MAX_POOL_CONNECTIONS: Max amount of connections the Postgres connection pool should keep open and ready to use.NO_STDOUT_LOG: Set to any value to only write logs to the log file (and Otel, if configured)OTEL_SERVICE_NAME: Service name to be used for metrics, traces and logsObservability is provided through Otel and can be optionally enabled by setting:
OTEL_EXPORTER_OTLP_ENDPOINT: URL to a otlp endpointStandardized Otel environment variables are supported.
GitArena gets compiled as a normal binary so you can just run it.
After start GitArena will automatically create the required tables. Please edit the settings table to configure your
GitArena instance and restart GitArena. In the future this will be do-able in the web ui.
Afterwards, your GitArena instance will be fully set up and you can register
your account. In order to access the admin panel (/admin), please set
admin on your user account in the users table to true.
The frontend will now be reachable at https://localhost:8080/api or your configured hostname and port.
In order to run the GitArena frontend, the following environment variables need to be set:
NODE_ENV: set to productionNEXT_PUBLIC_API_URL: URL to the GitArena backend, defaults to http://localhost:8080Optionally you can set:
HOSTNAME: address to bind to, default 0.0.0.0PORT: port to bind to, default 3030Then run:
$ cd gitarena-frontend
$ pnpm run start
The frontend will now be reachable at https://localhost:3030 or your configured hostname and port.
Repository:

Repository commits:

File view:

Issues overview:

Issue detail:

Create repository:

Import repository:

Login:

Sign up:

Explore:

Search:

Releases:

GitArena is part of the Mintlify OSS Program, meaning we receive gracious support from them in the form of a free Mintlify Pro plan (normally $300/month) to host our documentation.
TypeScript
63.6%
Rust
33.9%
PLpgSQL
1.6%