Project

Project: ayllu/ayllu

License: AGPL-3.0

Homepage: https://ayllu-forge.org

Description: Hyper Performant & Hackable Code Forge

Clone
httphttps://ayllu-forge.org/ayllu/ayllu
Browse

Kevin Schoon

1 week ago

refmain
commit9ad7915f43c917efedf8985ac1a3aace75b73ce3
add object serializer / deserializer for repositories

This adds some new helper code which lets you serialize / deserialize objects
directly into a git repository.
 
File Commit Size Mode Time
.ayllu simplify build script NaN B d--------- 1.7 years ago
.containerignore add lfs support to base and multiuser container 10 B -rw-r--r-- 1.3 years ago
.gitignore ignore .deb files 211 B -rw-r--r-- 1 month ago
.tokeignore update tokeignore 16 B -rw-r--r-- 1.7 years ago
.woodpecker build base-build container first in ci NaN B d--------- 3 months ago
ATTRIBUTIONS.md replace tera with askama and eliminate all unused features 1.1 KiB -rw-r--r-- 4 months ago
Cargo.lock improve git crate testing with tempfile crate 84.3 KiB -rw-r--r-- 2 weeks ago
Cargo.toml improve git crate testing with tempfile crate 1 KiB -rw-r--r-- 2 weeks ago
LICENSE add LICENSE 33.7 KiB -rw-r--r-- 2.2 years ago
README.md update README with simple container example 5.9 KiB -rw-r--r-- 4 months ago
ayllu-build improve development scripts for database creation NaN B d--------- 1.4 years ago
ayllu-jobs bump various dependencies NaN B d--------- 4 months ago
ayllu-keys add man page generation support with xtask pattern NaN B d--------- 3 weeks ago
ayllu-mail fixup various ci related things NaN B d--------- 6 months ago
ayllu-shell add man page generation support with xtask pattern NaN B d--------- 3 weeks ago
ayllu-xmpp improve development scripts for database creation NaN B d--------- 1.4 years ago
ayllu improve git crate testing with tempfile crate NaN B d--------- 2 weeks ago
biome.json replace tera with askama and eliminate all unused features 366 B -rw-r--r-- 4 months ago
config.example.toml add support for base_path 10.7 KiB -rw-r--r-- 1 month ago
containers support git-receive-pack in ayllu-shell NaN B d--------- 1 month ago
contrib add ayllu archlinux package, update sysusers NaN B d--------- 2 months ago
crates add object serializer / deserializer for repositories NaN B d--------- 1 week ago
docs re-init ayllu-keys and ayllu-shell NaN B d--------- 2 months ago
migrations more wip ayllu-mail updates NaN B d--------- 8 months ago
packaging fixup postinst debian script NaN B d--------- 3 weeks ago
queries flesh out delivery queries NaN B d--------- 8 months ago
quipu add man page generation support with xtask pattern NaN B d--------- 3 weeks ago
scripts add man page generation support with xtask pattern NaN B d--------- 3 weeks ago
xtask add man page generation support with xtask pattern NaN B d--------- 3 weeks ago
README.md
5.9 KiB

πŸŒ„ Ayllu

status-badge

Ayllu is a hyper performant & hackable code forge optimized for single instance deployments. It leverages the distributed nature of Git with a variety of standards based integrations.

Ayllu might fit the following use cases well:

  • A drop-in replacement for gitweb allowing you to browse your repositories locally.
  • Self-hosted personal project pages with lots of customizability.
  • Small to medium sized community projects.

Name

The name Ayllu /ˈajʎu/, eye-joo is the Quechua word for the traditional form of a community in the Andes region of South America, particularly in Bolivia and Peru.

Project Status & Collaboration

Please note that this is still a work in progress and the project’s canonical home is at ayllu-forge.org. To facilitate collaboration we have mirrors available at codeberg and sourcehut. Please feel free to use which ever platform you prefer, eventually we will import both platforms into Ayllu.

Tickets

codeberg sourcehut

Patches

codeberg sourcehut

Chat

A general development channel #ayllu is available on libera.

Features

Feature Status Notes
git-log βœ…
git-clone (http & ssh) βœ…
git-notes βœ…
git-blame βœ…
git-lfs βœ…
git-verify βœ…
refs (tags & branches) βœ…
release exporting βœ…
blob rendering βœ…
tree/file browsing βœ…
patch generation βœ…
markdown rendering βœ…
diff generation βœ…
syntax highlighting βœ… via tree-sitter
source code analysis βœ…
full featured rss support βœ…
customizable themes βœ…
static hosting βœ…
activity tracking βœ…
extensible plugin system βœ…
WebFinger βœ…
mailing list support WIP
xmpp integration WIP
activity pub based federation TBD
continuous integration TODO
programmatic access TODO
centralized β€œhub” TODO

Demo

If you’d like to run a simple demo of Ayllu you can serve a local repository with our latest container image.

# change to the repository you'd like to serve
cd hello-world
podman run --rm -ti -p 10000:10000 -v $PWD:/repo --workdir /repo registry.ayllu-forge.org/ayllu/ayllu:main
# Your repository should now be available at http://127.0.0.1:10000

Installation

See the installation section in the documentation

Compiling From Source

Ayllu is written in rust and you’ll need its compiler to build the project. Additionally you also must have the following installed on your system:

You can run the check_build_dependencies.sh script to verify you have all the necessary software on your system.

# check your build dependencies
scripts/check_build_dependencies.sh
# intialize the sqlite database
scripts/init_db_if_missing.sh
# install pico css
npm install
# build the project
cargo build