📦 Pacman Package Server
Find a file
JMARyA 4e125c611c
Some checks failed
ci/woodpecker/push/build Pipeline failed
mirrorlist update
2025-04-17 08:43:52 +02:00
.woodpecker arm64 2025-04-17 08:11:38 +02:00
migrations Download Count for Packages 2025-01-26 11:08:03 +01:00
src mirrorlist update 2025-04-17 08:43:52 +02:00
.gitignore implement user pages + ui 2025-01-12 03:58:16 +01:00
Cargo.lock mirrorlist update 2025-04-17 08:43:52 +02:00
Cargo.toml mirrorlist update 2025-04-17 08:43:52 +02:00
config.toml mirrorlist update 2025-04-17 08:43:52 +02:00
docker-compose.yml smart mirroring 2025-01-13 11:39:00 +01:00
Dockerfile 🚑️ fix 2025-04-17 08:15:54 +02:00
PKGBUILD PKGBUILD 2025-04-16 09:53:06 +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