83 lines
2.1 KiB
Markdown
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.
|