Torolàlana Docker
WimaZone Billing dia manohana ny fametrahana Docker amin'ny serveur mahazatra sy ny dingana mifandraika amin'ny RouterOS.
Database Tohanan
| Milina | Version | Fampiasana | Charset |
|---|---|---|---|
| SQLite | 3.x | Fametrahana MikroTik (embedded) | — |
| MySQL | 8.0 | Fametrahana serveur / CasaOS | utf8mb4 / utf8mb4_unicode_ci |
| MariaDB | 11.5 | Fametrahana production (Docker) | utf8mb4 / utf8mb4_unicode_ci |
Ny milina database dia voafidy amin'ny DB_CONNECTION (sanda: sqlite na mysql). Samy voapetraka ao amin'ny sary Docker ny fanitarana PHP pdo_mysql sy pdo_sqlite.
Fanombohana Haingana (SQLite)
Clone ny tetikasa ary alefaso amin'ny compose:
git clone https://github.com/ITDev-Success/billing.git
cd billing
cp .env.example .env
docker compose up -d --buildSokafy ny navigateur-nao ary mandehana amin'ny http://localhost:8080.
Alefaso ny baiko aorian'ny fanombohana ao anatin'ny container raha ilaina:
docker exec -it billing php artisan key:generate
docker exec -it billing php artisan migrate --forceDocker Compose (SQLite / MikroTik)
Ohatra kely indrindra:
services:
billing:
build:
context: .
dockerfile: Dockerfile.mikrotik
container_name: billing
restart: unless-stopped
ports:
- "8080:80"
environment:
- APP_ENV=production
- APP_DEBUG=false
- APP_URL=http://localhost:8080
- LARAVEL_ENABLE_QUEUE_WORKER=true
- LARAVEL_QUEUE_WORKER_OPTIONS=--queue=mikrotik,default --tries=1 --timeout=1200 --sleep=2
- MIKROTIK_BOOT_HOTSPOT_SYNC=false
volumes:
- ./:/var/www/htmlFametrahana CasaOS (MySQL)
Ny rakitra deploy/docker-compose.yml dia mametraka stack feno miaraka amin'ny MySQL 8.0 sy phpMyAdmin:
| Serivisy | Sary | Port | Andraikitra |
|---|---|---|---|
wima-zone | shinsenter/laravel:php8.4 | 8081 (HTTP), 8443 (HTTPS) | Rindranasa Laravel |
wima-zone-mysql | mysql:8.0 | 3306 | Database MySQL |
wima-zone-phpmyadmin | phpmyadmin/phpmyadmin:latest | 8080 | Fitantanana DB |
cd deploy
docker compose up -d
docker exec -it wima-zone php artisan migrate --forceVariables tontolo iainana MySQL:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=wimazone
DB_USERNAME=laravel
DB_PASSWORD=change_me
DB_ROOT_PASSWORD=change_root_passwordFitahirizana maharitra CasaOS:
| Lalana Host | Lalana Container | Votoatiny |
|---|---|---|
/DATA/AppData/wima-zone/wwwroot | /var/www/html | Loharano Laravel |
/DATA/AppData/wima-zone/mysql | /var/lib/mysql | Data MySQL |
Fametrahana Production (MariaDB)
Ny rakitra deploy/docker-compose.prod.yml dia mametraka stack production feno miaraka amin'ny MariaDB 11.5, Nginx, Redis sy workers manokana:
| Serivisy | Sary | Andraikitra |
|---|---|---|
app | Sary manokana (Dockerfile) | Rindranasa PHP-FPM |
web | nginx:1.27-alpine | Serveur web (port 8080) |
worker | Sary manokana | Laravel queue worker |
scheduler | Sary manokana | Laravel scheduler |
db | mariadb:11.5 | Database MariaDB |
redis | redis:7-alpine | Cache sy sessions |
cd deploy
docker compose -f docker-compose.prod.yml up -dVariables MariaDB production:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=billing
DB_USERNAME=billing
DB_PASSWORD=change_me
DB_ROOT_PASSWORD=change_root_passwordFitsirihana fahasalamana ao anatiny: MariaDB (mariadb-admin ping, 10 famerenana), PHP App (php -v), Nginx (wget http://localhost/up). Ny serivisy app, worker sy scheduler dia miandry ny database ho salama (service_healthy) alohan'ny hanombohana.
Tags
- Ampiasao ny tag famoahana tetikasa avy amin'ny famoahana tahiry.
- Version tetikasa voarakitra ankehitriny:
v3.4.0.
Variables Tontolo Iainana
| Variable | Famaritana | Sanda default |
|---|---|---|
APP_ENV | Tontolo iainana Laravel. | production |
APP_DEBUG | Fomba debug. | false |
APP_URL | URL rindranasa ampahibemaso. | http://localhost:8080 |
REDIRECT_URL | URL redirect fallback portail captive. | http://wima-zone.wifi |
HOTSPOT_STATUS_TIMEOUT_SECONDS | Timeout ho an'ny antso API hotspot status. | 2 |
HOTSPOT_STATUS_CACHE_SECONDS | Varavarankely cache ho an'ny valiny hotspot status. | 3 |
HOTSPOT_STATUS_FAILURE_COOLDOWN_SECONDS | Cooldown rehefa tsy misy ny routeur. | 20 |
MIKROTIK_BOOT_HOTSPOT_SYNC | Queue sync hotspot fanombohana. | false |
MIKROTIK_BOOT_HOTSPOT_SYNC_PROCESS_NOW | Ampandehanina avy hatrany ny sync fanombohana. | false |
Soso-kevitra ho an'ny fanombohana voalohany/seeding admin:
SEED_SUPER_ADMIN_EMAIL=admin@example.com
SEED_SUPER_ADMIN_PASSWORD=replace-with-strong-passwordFitahirizana (Volumes)
Lalana manan-danja:
/var/www/html/storage/var/www/html/bootstrap/cache/var/www/html/database(raha SQLite)/var/lib/mysql(raha MySQL/MariaDB, amin'ny alalan'ny Docker volume)
Fanavaozana
git pull
docker compose build --no-cache
docker compose up -d
docker exec -it billing php artisan migrate --force
docker exec -it billing php artisan optimize:clearHo an'ny fomba container RouterOS, araho ny script fametrahana sy dingana sary voatsapa amin'ny haavon'ny tetikasa.