.github/workflows | ||
backend | ||
frontend | ||
res/imgs | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
README.md |
AURCache
AURCache is a build server and repository for Archlinux packages sourced from the AUR (Arch User Repository). It features a Flutter frontend and Rust backend, enabling users to add packages for building and subsequently serves them as a pacman repository. Notably, AURCache automatically detects when a package is out of date and displays it within the frontend.
Deployment with Docker and Docker-compose
To deploy AURCache using Docker and Docker-compose, you can use the following example docker-compose.yml file:
version: '3'
services:
aurcache:
image: luki42/aurcache:latest
ports:
- "8080:8080"
- "8081:8081"
volumes:
- ./aurcache/db:/app/db
- ./aurcache/repo:/app/repo
Make sure to define the db path and repo path as volumes.
The default Port 8081 serves the Frontend and Port 8080 serves the Repository.
To start AURCache with Docker-compose, run:
docker-compose up -d
Access AURCache through your web browser at http://localhost:8081.
You can now start adding packages for building and utilizing the AURCache repository.
Add the following to your pacman.conf
on your target machine to use the repo:
# nano /etc/pacman.conf
[repo]
SigLevel = Optional TrustAll
Server = http://localhost:8080/
Build Info
The AURCache project comprises two main components: a Flutter frontend and a Rust backend.
Frontend (Flutter)
To build the Flutter frontend, ensure you have Flutter SDK installed. Then, execute the following commands:
cd frontend
flutter pub get
flutter build web
Backend (Rust)
To build the Rust backend, make sure you have Rust installed. Then, navigate to the backend directory and run:
cd backend
cargo build --release
Things still missing
- proper error return from api
- proper logging
- auto update packages
- implement repo-add in rust
- keep older pkg versions in repo (repo-add limitation)
Contributors
Lukas-Heiligenbrunner
License
This project is licensed under the MIT License. Feel free to contribute and modify as per the guidelines outlined in the license agreement.