Logo ### Kiwix Manager A web-based Kiwix management tool to create & upload zims as well as manage non zim files [![Version](https://img.shields.io/badge/dynamic/json.svg?label=Version&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/kiwixm/tags&query=$[0].name)](https://git.zakscode.com/ztimson/kiwixm/tags) [![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/kiwixm&query=open_pr_counter)](https://git.zakscode.com/ztimson/kiwixm/pulls) [![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/kiwixm&query=open_issues_count)](https://git.zakscode.com/ztimson/kiwixm/issues) ---
DocumentationRelease NotesReport a BugRequest a Feature
---
## Table of Contents - [Kiwix Manager](#top) - [About](#about) - [Features](#features) - [Built With](#built-with) - [Setup](#setup) - [Production](#production) - [Development](#development) - [License](#license) ## About Kiwix Manager is a comprehensive web-based management interface for Kiwix servers that extends beyond traditional ZIM file management. It provides both a powerful Kiwix library management system and an integrated file browser for non-ZIM content, making it a complete solution for offline content libraries. ### Features - **Non-ZIM library browser + uploader integrated into Kiwix** - Browse and upload any file type through a custom file browser that works alongside your Kiwix content - **Kiwix management interface for updating library content** - Full administrative control over your Kiwix server and ZIM library - **Upload ZIMs from computer or download them directly from Kiwix library** - Flexible ZIM file management with local uploads and remote downloads - **Create ZIMs from URLs (zimmit)** - Convert websites directly to ZIM files with customizable scraping options - **Create ZIMs from zips / files** - Generate ZIM archives from your existing file collections ### Built With [![Docker](https://img.shields.io/badge/Docker-384d54?style=for-the-badge&logo=docker)](https://docker.com/) [![Express](https://img.shields.io/badge/Express-000000?style=for-the-badge&logo=express)](https://expressjs.com/) [![JavaScript](https://img.shields.io/badge/JavaScript-000000?style=for-the-badge&logo=javascript)](https://javascript.com/) [![Node](https://img.shields.io/badge/Node.js-000000?style=for-the-badge&logo=nodedotjs)](https://nodejs.org/) [![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)](https://tailwindcss.com/) ## Setup

Production

#### Prerequisites - [Docker](https://docs.docker.com/install/) #### Instructions 1. Run the docker image: `docker run -p 3000:3000 -v /path/to/zim/files:/data/zim -v /path/to/archive/files:/data/archive git.zakscode.com/ztimson/kiwixm:latest` 2. Open [http://localhost:3000](http://localhost:3000) 3. Access the admin panel at [http://localhost:3000/admin](http://localhost:3000/admin) 4. Browse non-ZIM files at [http://localhost:3000/archive](http://localhost:3000/archive)

Development

#### Prerequisites - [Node.js](https://nodejs.org/en/download) - [Kiwix Tools](https://kiwix.org/en/downloads/kiwix-tools/) (for ZIM file management) #### Instructions 1. Clone the repository: `git clone https://git.zakscode.com/ztimson/kiwixm.git` 2. Navigate to the project directory: `cd kiwixm` 3. Install the dependencies: `npm install` 4. Create the required directories: `mkdir -p data/zim data/archive` 5. Start the server: `npm run start` 6. Open [http://localhost:3000](http://localhost:3000)
## License Copyright © 2023 Zakary Timson | All Rights Reserved | Available under MIT Licensing See the [license](./LICENSE) for more information.