Dockerized pacman repository with friendly user interface and public API
FleuOS package repository – fleupkg
Dockerized pacman repository with friendly user interface and public API. Project goal is to quickly set up personal pacman repostitory without pain and hustle.
Configurations
Environment variables/flags:
- 📄 –
FLEUPKG_REPO
–repo
– repository name on the web page - 😀 –
FLEUPKG_USER
–user
– user name in system, will be used to ejectyay
packages - 🌐 –
FLEUPKG_PORT
–port
– publically exposed port,8080
default - 📫 –
FLEUPKG_API_ADRESS
–api-adress
– adress for backend api calls viagrpc-web
- 📦 –
FLEUPKG_INIT_PKGS
–init-pkgs
– initial packages to download on start - 📒 –
FLEUPKG_LOGS_FORMAT
–logs-fmt
– format for logs (can be text/json/pretty) - 📂 –
FLEUPKG_WEB_DIR
–web-dir
– directory with flutter web app - 🔐 –
FLEUPKG_LOGINS
–logins
– list of logins and passwords separated by ‘|’ symbol
Deploy
- with
docker
:
docker run -p 8080:8080 -e FLEUPKG_LOGS_FMT=text dancheg97.ru/dancheg97/fleupkg:latest
- with
docker-compose
:
services:
pacman:
image: dancheg97.ru/dancheg97/fleupkg:latest
command: run
environment:
FLEUPKG_INIT_PKGS: yay
FLEUPKG_API_ADRESS: http://localhost:8080/
FLEUPKG_LOGS_FMT: text
FLEUPKG_LOGINS: user1|pass1|user2|pass2
ports:
- 8080:8080
Add to pacman conf
Add those lines to your /etc/pacman.conf
, to get things to work:
[localhost]
SigLevel = Optional TrustAll
Server = http://localhost:8080/pkg
You can test it with this commands:
sudo pacman -R yay
sudo pacman -Sy yay
Contribute
For applicaiton development you need to install following software:
go
gofumpt
golangci-lint
buf
flutter
flutter webkit
All frontend dart code is located in lib
folder, all backend go code is
located in cmd
folder.