LOEMIND.md 4.4 KB

Dev-teenused (dev) – Docker kasutusjuhend

Kataloog: /opt/docker-compose/dev/

Arendus-/tutvumisteenused. Esimene teenus on ClickHouse (OLAP-andmebaas, mille eesmärk on Oracle-baaside ülemineku ettevalmistamine).

ClickHouse

Omadus Väärtus
Pilt clickhouse/clickhouse-server:26.8.1.2041
Konteiner clickhouse
HTTP API 8125 otse (ClickHouse'i vaikimisi 8123 on Home Assistant'il) — 8124 läbi clickstack-proxy
Native TCP 9004 (vaikimisi 9000 on portainer'il)
Kasutaja default (ja dev)
Parool dev_clickhouse_2026 (mõlemal)
Andmed ./data/clickhouse (gitignore'd)
Config ./config/ (merge'd /etc/clickhouse-server/config.d)
Võrk main_ai_network

Web UI

ClickHouse'il on sisseehitatud veebiliides (/play — SQL playground):

http://100.87.1.24:8124/play

Kasutajanimi default, parool dev_clickhouse_2026.

Käsud

# Käivita / peata / taaskäivita
docker-compose -f /opt/docker-compose/dev/docker-compose.yml up -d
docker-compose -f /opt/docker-compose/dev/docker-compose.yml down
docker-compose -f /opt/docker-compose/dev/docker-compose.yml restart clickhouse

# Logid
docker-compose -f /opt/docker-compose/dev/docker-compose.yml logs -f clickhouse

# Kliendiga (konteineri sees)
docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026

ClickStack (HyperDX) — observability UI

ClickStack = HyperDX UI + ClickHouse + OTel-kollektor (logid/traces/meetrikud).

Omadus Väärtus
Konteiner clickstack (hyperdx-all-in-one)
UI (otsing/dashboardid) http://100.87.1.24:8124/clickstack/search (läbi clickstack-proxy)
UI otse (varuvariant) http://100.87.1.24:18080/search
Kasutaja admin@odamus.com
Parool Dev_clickhouse_2026!
OTLP gRPC sisend 4317
OTLP HTTP sisend 4318
Andmed (incl. MongoDB) ./data/clickstack (gitignore'd)

Hooldus: all-in-one ei käivita MongoDB-d ise — seetõttu on command üle võetud clickstack-entry.sh-ga (käivitab mongod pordil 127.0.0.1, siis rakenduse). db laheneb konteineris 127.0.0.1-le (sisemine MongoDB).

Port 8124 = clickstack-proxy (nginx):

  • /clickstack/* → ClickStack UI (ClickHouse staatiline kest)
  • /__ENV.js, /api/*, /graphql → HyperDX backend
  • /, /play, /?query=... → ClickHouse (ehk DBeaver 8124-ga töötab edasi)
  • ClickHouse'i HTTP otse on nüüd pordil 8125 (8124 läbi proxy sama API-ga)

Migratsiooninäide: postgres → ClickHouse (paberkrohv)

2026-08-31 viidi paberkrohv andmebaas postgresist (100.87.1.24:5432) ClickHouse'isse — näide, kuidas hiljem Oracle-baase üle viia.

Tulemus (read ühtivad): sorptsioon 48193, sample_weight 2529, sample 1749, mixture 386, lot 10, res_users 6, test 7.

Tüübimapping

Postgres ClickHouse
integer Int32
numeric Float64 (testiks OK; täpsuse vajadusel Decimal)
timestamp (ilma tz) DateTime64(3)
character varying / text String
boolean Bool

Tabeli loomine (MergeTree — analüütiline mootor)

CREATE TABLE paberkrohv.sorptsioon (
    id Int32, weight Float64, lot Int32, sample Int32, rh_1 Int32, test_id Int32,
    datetime DateTime64(3), created_at DateTime64(3), created_by Int32
) ENGINE = MergeTree ORDER BY (sample, lot, datetime);

Andmete ülekanne (ClickHouse'i postgresql() tabelifunktsioon)

-- ClickHouse loeb otse postgresist, ilma vahefailita:
INSERT INTO paberkrohv.sorptsioon
SELECT * FROM postgresql('postgres_postgis:5432', 'paberkrohv', 'sorptsioon', 'ai_user', 'ai_secure_pass_2026');

Päring peab jooksma ClickHouse'i konteineri seest (võrk main_ai_network võimaldab postgres_postgis:5432). Postgres jääb puutumatuks — ClickHouse on koopia.

Käsud

docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026 \
  --query "SELECT count() FROM paberkrohv.sorptsioon"

Märkused

  • Pordid valitud konfliktivabaks: 8124 (HTTP), 9004 (native). 8123 = Home Assistant, 9000 = portainer.
  • Oracle → ClickHouse: ClickHouse on veerupõhine OLAP; sobib analüüsi/aruandluse koormuste jaoks. Postgres-migratsioon on eeskujuks: postgresql() tabelifunktsioon lihtsustab oluliselt (Oracle'i jaoks tuleb vastav funktsioon/ODBC-vood eraldi uurida).