Решил попробовать новый формат цвета, про который пишут “[лучший формат цвета в CSS](https://htmlbook.ru/blog/oklch-luchshiy-format-dlya-cveta-v-css)” и переводят [хайповые статьи от Evil Martians](https://web-standards.ru/articles/oklch-in-css-why-quit-rgb-hsl/). Что хочу сказать – OKLCH это ад для программиста.

### Чем хорош HSL

В HSL у тебя есть HUE (0 – 360), Saturation (0% – 100%), Lightness (0% – 100%). Это значит, что можно выставить желаемые Saturation и Lightness, а потом крутить HUE и получать примерно схожие цвета по восприятию. Да, они будут не идеальны по восприятию, но это, что называется “close enought”. Зато, у тебя на любое значение Saturation и Lightness есть значение HUE. Когда смотришь на OKLCH, то он изначально выглядит странно. LCH = Lightness (0 – 1 или 0% – 100%), Chroma (~0.4 – 0.5 в зависимости от HUE), HUE (0 – 360). Но проблема даже не в том, что здесь насыщенность (Chroma) имеет плавающее максимальное значение. Основной ад здесь с HUE.
– [!(/wp-content/uploads/2025/08/hsl_dark-1024×755.webp)](/wp-content/uploads/2025/08/hsl_dark.webp)
– [!(/wp-content/uploads/2025/08/hsl_light-1024×758.webp)](/wp-content/uploads/2025/08/hsl_light.webp)
– [!(/wp-content/uploads/2025/08/oklch_dark-1024×753.webp)](/wp-content/uploads/2025/08/oklch_dark.webp)

Командная строка в Windows – это уныло. Я решил потратить вечер, но настроить себе такую консоль, с которой приятно работать. Бонусом – оказалось, что в выбранном мной решении можно логиниться и по SSH на сервера Linux и там тоже устроить красоту.

Показать текущие запущенные контейнеры:

docker ps

Показать все контейнеры (включая остановленные):

docker ps -a

Запуск, остановка и прочее:

docker start <container_id_or_name>
docker stop <container_id_or_name>
docker restart <container_id_or_name>

# Запустить контейнер с параметрами (создать и запустить):
docker run [options] image_name

Удаление:

docker rm <container_id_or_name>
# Удалить запущенный контейнер (через остановку):
docker rm -f <container_id_or_name>
# Удаление образа:
docker rmi hello-world

Перекомпилировать и перезапустить сервисы:

docker compose up -d --build

Остановить все сервисы:

docker compose down

Чтобы пересобрать контейнер, а не просто перезапустить:

docker compose down
docker compose up -d

Посмотреть логи:

docker logs n8n-n8n-1 --tail 100

Посмотреть список файлов:

docker exec -it n8n-n8n-1 ls -la /home/node

Запустить полноценный shell в контейнере:

docker exec -it n8n-n8n-1 /bin/bash

Если bash не установлен:

docker exec -it n8n-n8n-1 /bin/sh

После того как попал в shell, можно посмотреть пользователей в контейнере:

cat /etc/passwd

Иногда это нужно, когда нет доступа у внутреннего пользователя к внешней папке, где должны храниться данные. При этом в логах может выдаваться ошибка типа Error: Command "start" not found. В таком случае внутри контейнера надо посмотреть id юзера, потом выйти и под dockeruser выполнить:

sudo chown -R 1000:1000 ~/n8n/n8n_data

Также есть способ посмотреть юзеров не входя в контейнер:

docker image inspect n8nio/n8n:latest | grep -A 5 '"User"'

Перезагрузить только один контейнер:

docker compose stop n8n
docker compose up -d n8n