4.2 KiB
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:
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 \
mivodev/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:
services:
mivo:
image: mivodev/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 themainbranch.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.
-
Prepare Files:
- Copy the content of docker/aapanel-template.yml.
- Copy the content of docker/aapanel-env.example.
-
Add Project in aaPanel:
- Go to Docker -> Project -> Add Project.
- Name:
mivo - Compose Template: Paste the content of
aapanel-template.yml.
-
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_PATHto match your project path (usually/www/dk_project/mivo). - Adjust
APP_PORTif needed.
-
Confirm: Click "Add" or "Confirm" to deploy.
-
Setup Reverse Proxy:
- Go to Website -> Add Site -> Reverse Proxy.
- Target:
http://127.0.0.1:8085(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!
Created by MivoDev
