aurcache/README.md

92 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2023-12-23 16:21:03 +00:00
# AURCache
2024-02-15 21:17:39 +00:00
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.
2024-02-25 15:50:18 +00:00
<p><img src="res/imgs/screenshot1.png" alt=""/>
<details>
<summary>More Images:</summary>
<br>
<img src="res/imgs/screenshot2.png" alt=""/>
<img src="res/imgs/screenshot3.png" alt=""/></p>
</details>
2024-02-15 21:17:39 +00:00
## 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
2024-02-15 21:17:39 +00:00
* proper error return from api
* proper logging
* auto update packages
* implement repo-add in rust
2024-02-15 21:17:39 +00:00
* 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.