ClickHouse на Pethost в один клик
Быстрая колоночная база данных для аналитики, с SQL по HTTP
Что произойдет
- Вы входите в Pethost или создаете аккаунт — с passkey, через GitHub или Google.
- Машины еще нет? Вы выбираете тариф, и мы готовим машину для вас. Ссылка ждет в вашем браузере, пока машина не будет готова.
- Окно «Новый проект» открывается на этом приложении. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Пароль администратора.
- Через минуту-две приложение работает по своему адресу с HTTPS. Его секреты создаются случайно, а данные попадают в ночной бэкап.
- Это проект как любой другой: его compose.yaml, .env, логи и терминал — в панели, а ваш агент может его изменить, откатить или восстановить.
Первые шаги
Откройте https://clickhouse.sam.pethost.app/play и войдите как default с паролем администратора, который вы указали. Клиенты, работающие через HTTP-интерфейс ClickHouse, подключаются к https://clickhouse.sam.pethost.app на порту 443; нативный протокол на порту 9000 недоступен. Данные хранятся в /var/lib/clickhouse.
Что запускается
Шаблон — это этот compose.yaml и переменные, которые он пишет в .env проекта. Pethost запускает файл так, как он написан.
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: