Gitly
GitHub/GitLab alternative written in V.
- Light and fast
- Minimal amount of RAM usage (works great on the cheapest $3.5 AWS Lightsail instance)
- Easy to deploy (a single <1 MB binary that includes compiled templates)
- Works without JavaScript
- Detailed language stats for each directory
- "Top files" feature to give an overview of the project
This is beta software
The V web framework and Gitly are at an early stage of development. Lots of features are missing. The biggest missing features that will be implemented soon:
- Multiple users and multiple repos
git push- Access via ssh
- Pull requests
v build.vsh
./gitly
Gitly builds against PostgreSQL by default. Create the default PostgreSQL role/database with:
v run setup_db.vsh
To build a SQLite-backed binary instead, use:
v -d sqlite .
./gitly
The SQLite database path defaults to gitly.sqlite and can be changed with sqlite.path in
config.json or GITLY_SQLITE_PATH. PostgreSQL settings can be changed with pg in
config.json, GITLY_DB_* environment variables, or the usual PG* environment variables.
If you don't want to install sassc, you can simply run
curl https://gitly.org/css/gitly.css --output static/css/gitly.css
Required dependencies:
- V 0.4.2 93ff40a (https://vlang.io)
- SQLite (Ubuntu/Debian:
libsqlite3-dev) - PostgreSQL client library (Ubuntu/Debian:
libpq-dev, macOS:brew install libpq) - Markdown (
v install markdown) - sassc
Features
Track performance in CI (e.g. compare certain binary performance across different commits)
Run only certain actions for commits (e.g. you're a fixing a bug that involves only a certain OS, and you don't want to wait for other CI)
Prioritize CI runs (e.g. this PR must be handled first, then the rest)
"Top files" mode
Release files can only be generated by CI/CD, with the version of the tree used always available. This prevents malware binaries.
