aurcache/README.md
Lukas-Heiligenbrunner b07d0ea8a4
readme
2024-02-15 22:17:39 +01:00

83 lines
2.1 KiB
Markdown

# 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:
```yaml
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:
```bash
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:
```bash
# 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:
```bash
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:
```bash
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.