📦 Pacman Package Server
Find a file
2025-07-01 17:07:17 +00:00
.woodpecker fix 2025-06-28 03:15:43 +02:00
migrations
PKGBUILDS custom pkgbuild init 2025-06-26 11:21:33 +02:00
src fix 2025-06-29 03:50:34 +02:00
.gitignore
Cargo.lock Update Rust crate reqwest to v0.12.22 2025-07-01 17:07:17 +00:00
Cargo.toml Merge pull request 'Update Rust crate nix to 0.30.0' (#11) from renovate/nix-0.x into main 2025-06-22 00:28:02 +00:00
config.toml
docker-compose.yml
Dockerfile
PKGBUILD
README.md
renovate.json Add renovate.json 2025-06-21 21:29:25 +00: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