| name | soneta-containers |
| description | Uruchamianie i wdrażanie platformy Soneta (enova365, Triva) w kontenerach — dla partnerów, bez dostępu do kodu programu. Używaj gdy użytkownik: (1) chce postawić środowisko (server + web) na obrazach Soneta przez `docker compose` albo na Apple `container` / Container Desktop; (2) tworzy lub zarządza bazą danych w kontenerze (usługa init z `dbmgr create`, `--demo`, `--recreate`, licencja, konwersja); (3) wdraża na Kubernetes przez Helm (`helm repo add soneta`, `values.yaml`, `dblist`, `adminMode`); (4) wybiera wersję obrazów (tagi z Docker Hub `soneta/*` lub `registry.soneta.pl`), architekturę (alpine/arm64/amd64), źródło i logowanie do registry; (5) potrzebuje SQL Servera — zewnętrznego (`host.docker.internal` / `host.containers.internal`) albo jako kontener `mssql`; (6) rozwiązuje problemy startu stacku (kolejność, port zajęty, brak DNS między usługami w Apple container, zły host-alias). Słowa kluczowe: docker compose, docker-compose.yaml, apple container, Container Desktop, helm, kubernetes, obraz, tag, wersja, mssql, dbmgr, x-init, server.standard, web.standard.
|
Soneta w kontenerach — uruchamianie i wdrażanie (enova365, Triva)
Skill dla partnera, który ma postawić i utrzymać środowisko Soneta w kontenerach
oraz założyć i zarządzać bazą — bez dostępu do kodu programu. Trzy ścieżki, wspólne
pojęcia. Składnię komend dbmgr opisuje /soneta-tools (nie duplikujemy jej tutaj).
Którą ścieżką
Wspólne pojęcia (dotyczą każdej ścieżki)
- Obrazy:
soneta/server.standard (logika + serwer, ma w środku dbmgr.dll) oraz
soneta/web.standard (aplikacja webowa). Rzadziej web.api, web.wcf.
- Wersja = tag, zawsze podawany jawnie (brak
latest/stable). Docker Hub:
XXXX.X.X-alpine; registry.soneta.pl (login): buildy alfa. Patrz obrazy-wersje.md.
- SQL Server: zewnętrzny (host lub osobny kontener) albo
mssql w tym samym compose.
Adres hosta: Docker → host.docker.internal, Apple container → host.containers.internal.
- Baza powstaje raz przez
dbmgr create <db> --mssql --sqlserver <host,port> --sqldb <db> --sqluser sa --sqlpwd <hasło> --demo gold --active --recreate — jako usługa init
reużywająca obrazu server.standard.
- Licencja / dane:
--demo silver|gold|platinum (dane demo + licencja) lub --licence.
Szybki start (Docker)
cp assets/docker-compose.yaml ./docker-compose.yaml
docker compose up -d
Logowanie do web: operatorem bazy demo (domyślny administrator). Hasło administratora
ustawisz przy tworzeniu (dbmgr create --adminpwd) albo zresetujesz później
(dbmgr resetadminpwd) — składnia w /soneta-tools.
macOS / Container Desktop: wklej plik z kroku 1 (SQL zewnętrzny) do okna „Uruchom
Docker Compose", zmieniając host-alias (host.docker.internal → host.containers.internal) —
patrz references/apple-container.md. Wariantu z kontenerem
SQL (docker-compose.mssql.yaml) tam nie używaj (x-init nie doczeka się SQL).
Samowystarczalny wariant z kontenerem SQL (tylko Docker): assets/docker-compose.mssql.yaml.
Checklisty
Przed startem: silnik działa (docker/container) · wybrany tag wersji · dostępny
SQL + znane hasło SA · wolne porty (np. 60000, 1433).
Po starcie: dbinit zakończony sukcesem (baza założona) · server wstał · web
odpowiada na porcie · nałożona licencja / dane --demo.
Gdy nie działa: port zajęty (zmień mapowanie) · zły host-alias (Docker vs Apple) ·
w Apple container brak DNS między usługami → wpisy /etc/hosts (robi to Container
Desktop) · x-init nie może zależeć od zwykłej usługi · brak build: w Apple container.
Powiązane skille
/soneta-tools — pełna składnia dbmgr (create/convert/backup/restore/licence/
extensions) oraz źródło baz docker: w SonetaFrame. Tu tylko wołamy dbmgr w kontenerze.
/soneta-config — znaczenie kluczy appsettings.json, domyślne porty i warstwy
nadpisań przez zmienne SONETA_...
(appsettings.md); import/eksport XML (role,
uprawnienia, ustawienia) do bazy założonej w kontenerze.
/soneta-programming, /soneta-addon-planning — kod i planowanie dodatku, który
potem uruchomisz w tym środowisku.
/soneta-erp — mapa wszystkich skilli platformy.