The web dashboard for the CachyOS repositories provides a user-friendly interface to search and view packages.
-
Clone the repository:
git clone https://github.com/cachyos/public-dashboard.git cd public-dashboard -
Install the dependencies:
bun --bun install
-
Start the development server:
bun --bun run dev
The application will be available at http://localhost:3000.
To create a production-ready build, run the following command:
bun --bun run buildThis will create an optimized build in the .dist directory. To run the production server, use:
bun server.mjsPORT: Port the production server listens on (default:3000). Read byserver.mjs.HOSTNAME: Host interface the production server binds to (default:0.0.0.0). Read byserver.mjs.VITE_APP_VERSION: Injected into the dashboard<meta>tag. Typically set at build time via--build-argorVITE_APP_VERSION=$(git rev-parse --short HEAD).
VITE_ENDPOINT_URL: API endpoint URL (default:http://localhost:5862/api).NEXT_PUBLIC_ENDPOINT_URL: Legacy fallback forVITE_ENDPOINT_URL. Prefer the former.
GITHUB_TOKEN: Optional GitHub PAT used by the server when fetching the mirrorlist and PKGBUILD tree.
CACHE: Set toredisto enable Redis caching. Any other value (or unset) keeps the in-memory LRU as the sole cache layer.REDIS_URL: Redis Sentinel URL (default:http://localhost:6379). Only the hostname is used as the Sentinel host.REDIS_MASTER_NAME: Sentinel master group name (default:shard_master0).REDIS_PASSWORD: Redis auth password (default:1234).REDIS_SENTINEL_PASSWORD: Sentinel auth password (default:1234).CACHE_PREFILL_PATH: Optional absolute path to the prefill JSON the server auto-seeds on startup. Defaults todist/cache-prefill.jsonresolved from the module or CWD.
NB: The cache in-process LRU (L1, up to 500 entries) plus Redis (L2). When CACHE is unset or not redis, only L1 is used.
BUILD_PHASE: Set to1during the build-time prefill step to skip Redis entirely (no connection attempt, no auto-seeding from an existing prefill). Thebuildnpm script sets this automatically — you only need it if runningscripts/prefill-cache.tsmanually.SWR_DEBUG: Set to1to log every cache lifecycle event (hit-fresh,hit-stale,expired,miss,fetch-start/ok/err,set-mem,set-redis,seed,dedupe, etc.). Alternatively, setDEBUGto a value containingswr(e.g.DEBUG=swr).
You can also build and run the web dashboard using Docker.
To build the Docker image, run the following command from the root directory:
docker build -t public-repo-dashboard .An optional --build-arg VITE_APP_VERSION=$(git rev-parse --short HEAD) can be used to include the current Git commit in the dashboard's <meta> tag during the build.
To run the Docker container, use the following command:
docker run -p 3000:3000 public-repo-dashboardThe application will be available at http://localhost:3000.