Usługi monitoringu są w profilu monitoring. Aby je uruchomić i zweryfikować port 3000:
docker-compose --profile monitoring up -d grafana prometheus
curl -I http://localhost:3000
# Oczekiwany kod HTTP: 302 (redirect do /login)
Mock środowiska sieciowego do testowania integracji z systemem WAPRO, zawierający symulowane serwery RPI, drukarki ZEBRA i bazę danych MSSQL.
Kompletne środowisko testowe do symulacji sieci WAPRO z bazą danych MSSQL, serwerem RPI i drukarkami ZEBRA.
git clone https://github.com/text2doc/prinet
# Konfiguracja środowiska
make setup
# Uruchomienie wszystkich serwisów z automatycznymi testami E2E
make start
# Sprawdzenie statusu
make status
# Uruchomienie testów E2E
make test-e2e
# Uruchomienie testów WebEnv
make test-webenv
# Uruchomienie wszystkich testów
make test
# (Opcjonalnie) Szybsze budowanie obrazów
# Lepsza wydajność: ustaw zmienną środowiskową i uruchom ponownie
# Tip: export COMPOSE_BAKE=true
wapro-network-mock/
├── docker-compose.yml # Główna konfiguracja Docker
├── Makefile # Automatyzacja zadań
├── mssql-wapromag/ # Baza danych WAPROMAG
├── rpi-server/ # Serwer RPI z GUI i API
├── zebra-printer-1/ … 4/ # 4 mocki drukarek ZEBRA-001 … 004
├── test-runner/ # Automatyczne testy
├── monitoring/ # Konfiguracja monitoringu (Grafana + Prometheus)
├── docs/PRINTERS.md # Dokumentacja drukarek
└── scripts/ # Skrypty pomocnicze (m.in. test-e2e.sh)
.env)| Usługa | Port | Opis |
|---|---|---|
| RPI Server GUI | 8082 | Interfejs użytkownika |
| RPI Server API | 28081 | API REST |
| ZEBRA Printer 1 | web 28091 / ZPL 9100 | Mock ZEBRA-001 |
| ZEBRA Printer 2 | web 28092 / ZPL 9101 | Mock ZEBRA-002 |
| ZEBRA Printer 3 | web 28093 / ZPL 9102 | Mock ZEBRA-003 |
| ZEBRA Printer 4 | web 28094 / ZPL 9103 | Mock ZEBRA-004 |
| WebEnv Editor | 8888 | Edytor konfiguracji .env |
| Grafana | 3000 | Panel monitoringu (profil monitoring) |
| MSSQL Server | 1433 | Baza danych WAPROMAG |
Szczegóły: docs/PRINTERS.md.
172.25.9.0/24 (bezpieczne na dev)..env: NETWORK_SUBNET, ZEBRA_N_IPV4, MSSQL_IPV4, RPI_IPV4.192.168.8.0/24 (.20 MSSQL, .165–.168 Zebra):
.env.production-lan.example — tylko gdy na hoście nie ma kolidującej sieci Docker (np. 192.168.0.0/20)./api/status)# Uruchomienie środowiska z automatycznymi testami E2E
./scripts/start.sh
# Uruchomienie tylko testów E2E (bez restartu środowiska)
./scripts/test-e2e.sh
# Wszystkie testy
make test
# Testy bazy danych
make test-sql
# Testy drukarek
make test-zebra
# Testy integracyjne
make test-integration
Skrypt start.sh automatycznie uruchamia kompleksowe testy E2E, które sprawdzają:
.env, domyślnie GUI 8082 / API 28081)
/health (JSON ze statusem)ZEBRA_N_ENABLED=true)
/api/statusPrzed testami wykonywane są preflight-checki i zbiory logów pomocnych w diagnozie:
docker-compose.ymlWyniki testów są zapisywane w formacie JUnit XML w katalogu test-results/.
# Wysyłanie przykładowej komendy do drukarki 1
echo "~HI" | nc localhost 9100
# Wysyłanie etykiety testowej
echo -e "^XA\n^FO50,50^A0N,50,50^FDTest Label^FS\n^XZ" | nc localhost 9100
# Połączenie z bazą danych
sqlcmd -S localhost,1433 -U sa -P WapromagPass123!
# Stan zdrowia systemu
make health
# Logi wszystkich serwisów
make logs
# Logi konkretnego serwisu
make logs-rpi
make logs-zebra1
make logs-sql
# Restart systemu
make restart
# WebEnv - edytor konfiguracji .env
make webenv_start # Uruchom w tle
make webenv_stop # Zatrzymaj
make webenv # Uruchom (blokujący)
# Czyszczenie środowiska
make clean
# Backup bazy danych
make backup-db
# Przywracanie bazy danych
make restore-db
# Uruchomienie wszystkich usług
make start
# Zatrzymanie wszystkich usług
make stop
# Restart usług
make restart
# Wyświetlenie statusu
make status
# Utworzenie kopii zapasowej bazy danych
make backup-db
# Przywrócenie bazy danych z kopii zapasowej
make restore-db
# Czyszczenie środowiska
make clean
W przypadku problemów, zapoznaj się z sekcją Rozwiązywanie problemów lub zgłoś nowy problem w zakładce Issues.
Ten projekt jest objęty licencją MIT. Szczegóły znajdują się w pliku LICENSE.
Wszystkie ustawienia można zmienić w pliku .env:
# Database
MSSQL_WAPROMAG_PASSWORD=WapromagPass123!
# Printers
ZEBRA_1_NAME=ZEBRA-001
ZEBRA_2_NAME=ZEBRA-002
# Ports
RPI_GUI_PORT=8080
RPI_API_PORT=8081
# Sprawdzenie logów
make logs
# Reset środowiska
make clean && make setup && make start
# Test połączeń
make health
# Terminal do debugowania
make shell-rpi
make shell-sql