📦 Pacman Package Server
Find a file
JMARyA cf5f641012
All checks were successful
ci/woodpecker/push/build Pipeline was successful
🚑️ fix
2025-04-16 09:39:01 +02:00
.woodpecker ci 2025-01-26 11:24:48 +01:00
migrations Download Count for Packages 2025-01-26 11:08:03 +01:00
src 🚑️ fix 2025-04-16 09:39:01 +02:00
.gitignore implement user pages + ui 2025-01-12 03:58:16 +01:00
Cargo.lock pacco cli 2025-04-16 08:19:05 +02:00
Cargo.toml pacco cli 2025-04-16 08:19:05 +02:00
config.toml smart mirroring 2025-01-13 11:39:00 +01:00
docker-compose.yml smart mirroring 2025-01-13 11:39:00 +01:00
Dockerfile fix docker 2025-04-16 09:04:22 +02:00
README.md pacco cli 2025-04-16 08:19:05 +02:00

Pacco

Pacco is an application for managing and hosting pacman repositories.

Features

  • Multiple repositories
  • Multiple architectures
  • Web UI for packages
  • API for pushing new packages
  • Smart mirroring

Usage

Package Repo

To use the packages pacco provides, add the following to pacman.conf:

# /etc/pacman.conf

[repo]
Server = https://example.com/pkg/$repo/$arch

Add a new package

To upload a package you created with makepkg to a repo use curl:

curl -X POST \
-F "pkg=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst" \
-F "sig=@./<pkg_name>-<version>-<rel>-<arch>.pkg.tar.zst.sig" \
"https://<domain>/pkg/<repo>/upload"

Build with CI

You can add the following as a CI pipeline to automatically build and push a new package version.

when:
  - event: push
    branch: main

steps:
  - name: "PKGBUILD"
    image: git.hydrar.de/jmarya/pacco:latest
    commands:
      - pacco build --ci --push navos
    environment:
      PACCO_HOST: "https://pac.hydrar.de"
      PACCO_TOKEN:
        from_secret: pacco_token
      SIGN_KEY:
        from_secret: navos_key