Everest Linux Packages Home About Install Downloads Documentation Git ↗

Package Repository

glacier package host

-
Total Packages
-
Sections
-
Total Size

Browse Packages

Loading packages...

Upload a Package

Upload a compiled package archive to the repository.

NOTE:

Supported formats: .tar.gz, .tar.xz, .epkg

Uploading a package with an existing name will overwrite the previous entry.

API Reference

The repository exposes a REST API for use with the glacier package manager or any HTTP client.

Endpoints

GET /api/packages

Returns a JSON array of all packages in the repository.

GET /api/packages/search?q=term

Search packages by name or description. Returns a filtered JSON array.

GET /api/packages/:name

Returns metadata for a single package by name.

POST /api/packages

Upload a new package. Send request body as multipart/form-data.

Required fields: name, version, file

Optional fields: description, arch, section

DELETE /api/packages/:name

Delete a package by name. Removes both the archive file and its metadata entry.

GET /packages/:filename

Direct download URL for a package archive. Served as static content.

Usage

Sync the package database and install a package with glacier:

(root)# glacier sync

(root)# glacier install <package-name>

Upload a package with curl:

COMMAND: Upload via curl
curl -X POST https://your-repo.vercel.app/api/packages \ -F "name=bash" \ -F "version=5.2.0" \ -F "description=The GNU Bourne Again shell" \ -F "arch=x86_64" \ -F "section=base" \ -F "file=@bash-5.2.0.tar.gz"

Example JSON response for a package entry:

RESPONSE: Package metadata
{ "name": "bash", "version": "5.2.0", "description": "The GNU Bourne Again shell", "arch": "x86_64", "section": "base", "filename": "bash-5.2.0.tar.gz", "size": 4194304, "uploadedAt": "2025-01-01T00:00:00.000Z", "downloadUrl": "/packages/bash-5.2.0.tar.gz" }

About This Repository

This is the official EverestLinux package repository, hosting compiled packages for the glacier package manager.

NOTE:

This repository is self-hostable. Fork the project, deploy to Vercel, and point glacier at your instance URL.

Repository Sections

Section Description
baseEssential system packages required for a minimal installation
coreCore utilities and libraries
extraAdditional packages not included in core
communityCommunity-maintained packages
miscMiscellaneous packages

Configuring glacier

Point glacier at this repository by editing the repos config file:

FILE: /etc/glacier/repos.conf

[everest]

url = https://your-repo.vercel.app

enabled = yes

Then run:

(root)# glacier sync

Persistent Storage

CAUTION:

Vercel's serverless filesystem is ephemeral. Uploaded packages will not survive redeployments.

For production use, replace the file storage backend with an S3-compatible service such as Cloudflare R2 or AWS S3, and the metadata store with a hosted database.

WIKI: Introduction to Glacier