mirror of
https://github.com/mivodev/mivo.git
synced 2026-01-26 05:25:42 +07:00
115 lines
4.2 KiB
Markdown
115 lines
4.2 KiB
Markdown
<p align="center">
|
|
<img src="https://raw.githubusercontent.com/dyzulk/mivo/main/public/assets/img/logo.png" alt="MIVO Logo" width="200" />
|
|
</p>
|
|
|
|
# MIVO (Mikrotik Voucher) Docker Image
|
|
|
|
> **Modern. Lightweight. Efficient.**
|
|
|
|
MIVO is a next-generation **Mikrotik Voucher Management System** with a modern MVC architecture, designed to run efficiently on low-end devices like STB (Set Top Boxes) and Android, while providing a premium user experience on desktop.
|
|
|
|
This Docker image is built on **Alpine Linux** and **Nginx**, optimized for high performance and low resource usage.
|
|
|
|
  
|
|
|
|
## Quick Start
|
|
|
|
Run MIVO in a single command:
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name mivo \
|
|
-p 8080:80 \
|
|
-e APP_KEY=base64:YOUR_GENERATED_KEY \
|
|
-e APP_ENV=production \
|
|
-v mivo_data:/var/www/html/app/Database \
|
|
-v mivo_config:/var/www/html/.env \
|
|
dyzulk/mivo:latest
|
|
```
|
|
|
|
Open your browser and navigate to `http://localhost:8080`.
|
|
|
|
**Initial Setup:**
|
|
If this is your first run, you will be redirected to the **Web Installer**. Follow the on-screen instructions to create the database and admin account.
|
|
|
|
## Docker Compose
|
|
|
|
For a more permanent setup, use `docker-compose.yml`:
|
|
|
|
```yaml
|
|
services:
|
|
mivo:
|
|
image: dyzulk/mivo:latest
|
|
container_name: mivo
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- APP_ENV=production
|
|
- TZ=Asia/Jakarta
|
|
volumes:
|
|
- ./mivo-data:/var/www/html/app/Database
|
|
```
|
|
|
|
## Tags
|
|
|
|
- `latest`: Stable release (recommended).
|
|
- `edge`: Bleeding edge build from the `main` branch.
|
|
- `v1.x.x`: Specific released versions.
|
|
|
|
## Deploy on aaPanel (Advanced / Native Style)
|
|
|
|
This method follows the standard aaPanel "Quick Install" pattern, using full control over paths and resources via a `.env` file.
|
|
|
|
1. **Prepare Files**:
|
|
* Copy the content of [docker/aapanel-template.yml](docker/aapanel-template.yml).
|
|
* Copy the content of [docker/aapanel-env.example](docker/aapanel-env.example).
|
|
|
|
2. **Add Project in aaPanel**:
|
|
* Go to **Docker** -> **Project** -> **Add Project**.
|
|
* **Name**: `mivo`
|
|
* **Compose Template**: Paste the content of `aapanel-template.yml`.
|
|
|
|
3. **Define Configuration (.env)**:
|
|
* In the sidebar or tab for **.env** (which appears after you paste the template in some versions, or you create manually):
|
|
* Paste the content of `aapanel-env.example`.
|
|
* **Crucial Step**: Edit `APP_PATH` to match your project path (usually `/www/dk_project/mivo`).
|
|
* Adjust `APP_PORT` if needed.
|
|
|
|
4. **Confirm**: Click "Add" or "Confirm" to deploy.
|
|
|
|
5. **Setup Reverse Proxy**:
|
|
* Go to **Website** -> **Add Site** -> **Reverse Proxy**.
|
|
* Target: `http://127.0.0.1:8080` (Usage of variable `${APP_PORT}` matches this).
|
|
* Go to **Website** -> **Add Site**.
|
|
* Enter your domain name (e.g., `mivo.yourdomain.com`).
|
|
* Select **Reverse Proxy** as the PHP version (or set it up manually afterwards).
|
|
* After the site is created, click on it -> **Reverse Proxy** -> **Add Reverse Proxy**.
|
|
* **Target URL**: `http://127.0.0.1:8080` (or the port you configured).
|
|
* Save and enable SSL.
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Description | Default |
|
|
| :--- | :--- | :--- |
|
|
| `APP_ENV` | Application environment (`production` or `local`). | `production` |
|
|
| `APP_DEBUG` | Enable debug mode (`true` or `false`). | `false` |
|
|
| `APP_KEY` | 32-character random string (base64). Auto-generated on first install if not provided. | |
|
|
| `TZ` | Timezone for the container. | `UTC` |
|
|
|
|
## Volumes
|
|
|
|
Persist your data by mounting these paths:
|
|
|
|
- `/var/www/html/app/Database`: Stores the SQLite database and session files. **(Critical)**
|
|
- `/var/www/html/public/assets/img/logos`: Stores uploaded custom logos.
|
|
|
|
## Support the Project
|
|
|
|
If you find MIVO useful, please consider supporting its development. Your contribution helps keep the project alive!
|
|
|
|
[](https://sociabuzz.com/dyzulkdev/tribe)
|
|
|
|
---
|
|
*Created by DyzulkDev*
|