Skip to content

Software development platform with built-in vcs, issue tracking and code review

License

Notifications You must be signed in to change notification settings

mellowagain/gitarena

Repository files navigation

GitArena

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.

Progress

Currently, GitArena is work in progress and is not yet fully featured. The basics such as repositories and pushing/pulling as well as accounts work. Please see the issues tab for features that are still work in progress.

Building

Requirements:

  • Latest Rust stable toolchain
  • libmagic
    • Windows: Please install libmagic via vcpkg (triplet x64-windows-static-md) and set the environment variable VCPKG_ROOT to your vcpkg directory (more information)
    • macOS: Please install libmagic using Homebrew
    • Linux: Please install libmagic with your system package manager

Compiling:

$ cargo build --release

Cargo will build all required dependencies as well as GitArena itself. The resulting binary can be found in ./target/release.

Usage

In order to run GitArena, the following environment variable needs to be set:

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.

Logs

By default, GitArena will write logs to a file (instead of the console) when built with --release. In order to view the logs, look for a file in the logs directory ending with the current date.

Optional environment variables

  • MAX_POOL_CONNECTIONS: Max amount of connections the Postgres connection pool should keep open and ready to use.
  • DATABASE_PASSWORD_FILE: This environment variable may contain a path to a file containing the Postgres database password. In that case, the password does not need to be specified in the Postgres connection string. This is for usage with Docker secrets.
  • SERVE_STATIC_FILES: If this environment variable is set, GitArena will serve /static resources. This is experimental. It is instead recommended configuring your reverse proxy to serve them.
  • MAGIC: Path to a libmagic file database. If not specified, GitArena will fall back to the generic one shipped with this program.

Screenshots

Repository:

Repository

Repository commits:

Commits

File view:

File

Directory view:

Directory

Create repository:

Create

Import repository:

Import

Login:

Login

Sign up:

Sign up

Explore:

Explore

Admin panel:

Admin panel

Thank you

Jetbrains Instatus
Copyright © 2000-2022 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o. Instatus
Product subscriptions provided by JetBrains Status page provided by Instatus

About

Software development platform with built-in vcs, issue tracking and code review

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published