# Pico Pixel Player ![icon](webclient/public/assets/favicon-any.svg) Pico Pixel Player is a lightweight, self-hostable audio player with an [ElysiaJS](https://elysiajs.com) backend and [SolidJS](https://www.solidjs.com) frontend. It lets you play audio files directly from your server with a clean, responsive UI. ## Features - **Lightweight**: Minimal dependencies, fast performance - **Easy Setup**: Configure with just a `.env` file - **Responsive UI**: Works seamlessly on desktop and mobile - **Offline Capable**: Progressive Web App (PWA) support and local caching of files - **Transcoding**: Optionally transcode files at a selected bitrate and format to your client - **Directory Listing**: Browse files in their original directory structure ## Screenshot ![screenshot](webclient/public/assets/screenshot-wide.png) ## Setup 1. Clone the repository: ```sh git clone cd pico-pixel-player ``` 2. Configure .env: ```sh HOST_PORT=1234 MUSIC_ROOT=/path/to/your/music ``` 3. Start the service: ```sh docker-compose up # or podman-compose up ``` ## Important Notes - **No Authentication**: The app has no built-in auth. Run it behind a proxy with basic auth for security. ## Non-Goals - **Metadata-Based Views**: No support for filtering by genre, artist, etc. Use other projects for this - **Multiple users**: Right now everything besides the actual file hosting is stored on the server. When syncing is implemented, it will only be single storage. Permissison systems are also not planned. If distinct permissions/syncs are absouletely required, hosting multiple instances is an option ## Attributions - Font: https://github.com/TakWolf/ark-pixel-font - Icons: https://github.com/hackernoon/pixel-icon-library - Logo: https://github.com/halfmage/pixelarticons