Files
mivo/DOCKER_README.md

4.2 KiB

MIVO Logo

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.

Status PHP License

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 \
  ghcr.io/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: ghcr.io/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 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:

  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: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!

SociaBuzz Tribe


Created by MivoDev