Apkg is an APT repository server and Debian package publishing platform. It mirrors upstream Ubuntu repositories, signs repository snapshots, accepts .apkg package uploads, and serves packages through standard apt update and apt install workflows.
Default user name is admin@default.com and default password is Admin@123456!.
Try a running Apkg instance here.
Apkg is built for Debian-compatible distribution work such as AnduinOS. It lets maintainers keep Ubuntu as an upstream source while publishing distribution-specific package overrides from a managed web portal or CI/CD pipeline.
Apkg provides:
- A signed APT repository server for Debian and Ubuntu clients.
- Upstream APT mirror synchronization.
- Repository snapshot signing and static export.
.apkgbundle publishing for custom.debpackages.- A web dashboard for repositories, mirrors, certificates, package uploads, jobs, users, roles, and API keys.
- A
dotnetglobal CLI for creating, building, publishing, pushing, and installing packages.
Install the CLI:
dotnet tool install --global Aiursoft.Apkg.Client --add-source https://nuget.aiursoft.com/v3/index.jsonCreate, build, and push a package:
apkg new --name my-package
apkg add --path ./my-package --file ./bin/my-tool --target /usr/bin/my-tool
apkg lint --path ./my-package
apkg publish --path ./my-package
apkg push ./my-package/bin/my-package.apkg --source https://apkg.example.com --api-key <your-api-key>Add an Apkg repository to an APT client:
sudo apkg add-source https://apkg.example.com/api/sources/1
sudo apt update
sudo apt install my-packageThe following script will install or update this app on your Ubuntu server. Supports Ubuntu 25.04.
On your Ubuntu server, run the following command:
curl -sL https://github.com/aiursoftweb/apkg/raw/master/install.sh | sudo bashYou can append a custom port number to the command:
curl -sL https://github.com/aiursoftweb/apkg/raw/master/install.sh | sudo bash -s 8080It will install the app as a systemd service, and start it automatically. Binary files will be located at /opt/apps. Service files will be located at /etc/systemd/system.
Requirements about how to run
- Install .NET 10 SDK and Node.js.
- Execute
npm installatsrc/Aiursoft.Apkg/wwwrootfolder to install the dependencies. - Execute
dotnet run --project src/Aiursoft.Apkg/Aiursoft.Apkg.csprojto run the app. - Use your browser to view http://localhost:5000.
- Open the
.slnfile in the project path. - Press
F5to run the app.
First, install Docker here.
Then run the following commands in a Linux shell:
image=aiursoft/apkg
appName=apkg
sudo docker pull $image
sudo docker run -d --name $appName --restart unless-stopped -p 5000:5000 -v /var/www/$appName:/data $imageThat will start a web server at http://localhost:5000 and you can test the app.
The docker image has the following context:
| Properties | Value |
|---|---|
| Image | aiursoft/apkg |
| Ports | 5000 |
| Binary path | /app |
| Data path | /data |
| Config path | /data/appsettings.json |
There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.
Even if you have push rights on the repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your workflow cruft out of sight.
We're also interested in your feedback on the future of this project. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.
Apkg is licensed under the MIT License.
