Wdróż aplikację ClickHouse na Pethost jednym kliknięciem
Szybka kolumnowa baza danych do analityki, z SQL przez HTTP
Co się dzieje
- Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
- Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
- Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: Hasło administratora.
- Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
- To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.
Pierwsze kroki
Otwórz https://clickhouse.sam.pethost.app/play i zaloguj się jako default hasłem administratora, które podano. Klienci korzystający z interfejsu HTTP ClickHouse łączą się z https://clickhouse.sam.pethost.app na porcie 443; natywny protokół na porcie 9000 jest niedostępny. Dane zostają w /var/lib/clickhouse.
Co uruchamia
Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.
services:
clickhouse:
image: clickhouse/clickhouse-server:26.8.27.9
restart: unless-stopped
environment:
# The user default, with the password given: without one the image lets it in from the
# container's network only, and the HTTP interface would be closed to everyone.
CLICKHOUSE_USER: default
CLICKHOUSE_PASSWORD: ${ADMIN_PASSWORD}
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: "1"
# The stock config logs at trace level into ten files of 1000 MB and keeps its query, metric and
# trace tables for ever: on a small machine they would fill the disk over months. This keeps the
# server's log under 300 MB and those tables a week.
entrypoint:
- sh
- -c
- |
cat > /etc/clickhouse-server/config.d/small-machine.xml <<'XML'
<clickhouse>
<logger><level>information</level><size>100M</size><count>3</count></logger>
<query_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></query_log>
<metric_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></metric_log>
<asynchronous_metric_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></asynchronous_metric_log>
<trace_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></trace_log>
<text_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></text_log>
<part_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></part_log>
<error_log><ttl>event_date + INTERVAL 7 DAY DELETE</ttl></error_log>
</clickhouse>
XML
exec /entrypoint.sh
volumes:
- data:/var/lib/clickhouse
volumes:
data: