Pacman package repository - fleu-pkg
Dockerized pacman repository with friendly user interface and public API. Project goal is to quickly set up personal pacman repostitory without pain and hustle. Base styling is provided to keep in sync with modern gnome apps.
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.