Kept у домашній мережі
Kept працює у вашій домашній мережі за звичайною адресою http://, наприклад http://192.0.2.20:8080
або http://kept.home.arpa:8080. Ваші власні дані там працюють: додавання, пошук і переміщення речей,
фотографій та файлів, міток, звітів, імпорту та експорту без секретних значень.
Кілька речей потребують HTTPS. Деякі — бо Kept відмовляється видавати ключ або показувати секрет через з’єднання, яке може прочитати будь-хто в мережі; інші — бо браузери дозволяють їх лише на безпечній адресі, що Kept не може змінити.
Що працює через звичайний HTTP
Section titled “Що працює через звичайний HTTP”| Через звичайний HTTP | Чому | |
|---|---|---|
| Речі, місця, пошук, переміщення, мітки, звіти | Працює | |
| Фотографії та файли, вибрані з пристрою | Працює | |
| Імпорт (Homebox, CSV, експорт Kept) | Працює | |
| Відкриття секретів експорту під час його імпорту | Потребує HTTPS. Через звичайний HTTP решта експорту імпортується без них | Kept: парольна фраза і секретні значення |
| Експорт без секретних значень | Працює. Кожне секретне значення пропускається і позначається як пропущене; експорт імпортується як зазвичай | Ваші власні дані |
| Встановлення секретного значення | Працює | |
| Показ секретного значення | Потребує HTTPS | Kept: секрет ніколи не надсилається через звичайний HTTP |
| Експорт із секретними значеннями | Потребує HTTPS | Kept: секрети та їхня парольна фраза |
| Токени для ШІ-застосунків (MCP) і Home Assistant | Не з браузера. Створіть на сервері: kept admin token create (CLI) |
Kept: токен — це ключ |
| Підключення застосунку через OAuth (конектор) | Потребує HTTPS | Kept: OAuth потребує безпечної адреси |
| Завантаження комплекту відновлення | Не з браузера. На сервері: kept admin recovery-kit (CLI) |
Kept: у ньому зберігаються ключі сервера |
| Налаштування резервного копіювання та їхня перевірка | Потребує HTTPS або встановіть їх у середовищі сервера (конфігурація) | Kept: пароль резервного копіювання |
| Ключі доступу | Потребує HTTPS | Браузер: ключів доступу немає на адресі звичайного HTTP |
| Камера, встановлення Kept, робота офлайн, push-сповіщення, локація | Потребує HTTPS | Браузер |
Через звичайний HTTP вхід також триває 12 годин і не поновлюється; через HTTPS він триває 30 днів. Щоб змінити 12 годин, див. Залишаюся у вашій мережі.
Початок роботи на Головній просить адміністратора інстанції встановити Kept на HTTPS. Якщо ви залишаєтеся у своїй домашній мережі, виберіть Залишаюся у своїй домашній мережі, і крок вважається виконаним. Рядок HTTPS угорі кожної сторінки також можна закрити.
localhost вважається безпечною адресою у браузерах, але Kept керується KEPT_PUBLIC_URL: поки це
http:, власні відмови Kept, описані вище, застосовуються і на localhost.
Залишаюся у вашій мережі
Section titled “Залишаюся у вашій мережі”Хто запускає Kept, може змінити дві речі на сервері: скільки часу триває вхід через звичайний HTTP і на які адреси відповідає Kept. Жодну з них не можна змінити з застосунку, а Admin → Status показує, що діє.
Довші входи через звичайний HTTP
Section titled “Довші входи через звичайний HTTP”Через звичайний HTTP ви входите знову кожні 12 годин. KEPT_HTTP_SIGN_IN_DAYS у .env робить це
стількома днями, від 1 до 30, з поновленням під час використання. 7 підходить для домашньої
мережі або Tailscale:
KEPT_HTTP_SIGN_IN_DAYS=7Потім docker compose up -d. У застосунку Home Assistant це опція Sign-in length over http.
Встановлення, оновлене з 1.14.4 лише зміною KEPT_IMAGE, досі має старий compose.yaml, який не
передає це налаштування: спочатку завантажте новий.
Ціна: через звичайний HTTP cookie входу може скопіювати будь-хто, хто бачить трафік. Якщо налаштування увімкнено, скопійований cookie продовжує працювати, поки його використовують, аж поки цей пристрій не вийде або не будуть виведені ваші інші пристрої. Тож залишайтеся в мережі, якій довіряєте, і виходьте на пристрої, який втратили.
| Не встановлено | Встановлено | |
|---|---|---|
| Вхід через звичайний HTTP триває | 12 годин | Стільки днів |
| Поновлюється | Ні | Раз на день використання (при 1 дні, після пів дня) |
| Через HTTPS | 30 днів, поновлюється | 30 днів, поновлюється: налаштування нічого не робить |
| Секрети та ключі через звичайний HTTP | Відмовлено | Відмовлено |
| Чутливі дії | Пароль або вхід за останні десять хвилин | Те саме; поновлення не вважається входом |
| Вийти на всіх пристроях | Завершує всі входи | Завершує всі входи |
Будь-яке інше значення (0, 31, 7d) зупиняє Kept при запуску з повідомленням про те, що
потрібно. Якщо залишити порожнім — те саме, що не задавати.
Увімкнено — вже створений вхід отримає довшу тривалість при наступному використанні. Вимкнено — він завершиться у свій час, не довше за тривалість, яку мав; щоб завершити їх раніше, використайте Вийти на всіх пристроях у Admin → Users.
Більше ніж одна адреса
Section titled “Більше ніж одна адреса”Kept приймає входи та збереження лише з KEPT_PUBLIC_URL, тому другий спосіб дістатися до того
самого Kept — назва Tailscale поряд із назвою у локальній мережі або IP поряд із назвою — каже:
«Цей Kept налаштований для …». KEPT_EXTRA_ADDRESSES перелічує інші, розділені комами, точно так,
як їх показує браузер:
KEPT_PUBLIC_URL=http://kept.lan:8080KEPT_EXTRA_ADDRESSES=http://192.0.2.20:8080,http://<machine>.<tailnet>.ts.net:8080Потім docker compose up -d. У застосунку Home Assistant це опція Extra addresses. Це працює так
само через HTTPS.
Встановлення, оновлене з 1.14.4 лише зміною KEPT_IMAGE, досі має старий compose.yaml, який не
передає це налаштування: спочатку завантажте новий.
KEPT_PUBLIC_URL |
Додаткова адреса | |
|---|---|---|
| Використання Kept, вхід за паролем або одноразовим кодом | Так | Так |
| Посилання з листа або скидання пароля | Відкривається тут | Відкривається на KEPT_PUBLIC_URL |
| Ключі доступу | Так, через HTTPS | Ні; ключ доступу належить одній адресі |
| Вхід через Google і OIDC | Так | Кнопка відкриває KEPT_PUBLIC_URL |
| Застосунки ШІ (MCP, OAuth) | Так | Підключайте їх на KEPT_PUBLIC_URL: /mcp відмовляє цю адресу, а згода OAuth тут відхиляється |
| Посилання, мітки, QR-коди, пошта, календарні стрічки | Вказують сюди | Досі вказують на KEPT_PUBLIC_URL |
- Кожна адреса входить окремо і встановлюється як окремий застосунок, бо браузери зберігають cookies і автономні дані для кожної адреси. Вихід на одній залишає іншу ввійденою; Вийти на всіх пристроях завершує обидві. Push-сповіщення, де це дозволяє HTTPS, відкриваються на адресі, на якій пристрій їх увімкнув. Два порти на одному імені хоста мають спільні cookies: браузери не тримають їх окремо за портом.
- Посилання з листа, запитане на додатковій адресі, відкривається на
KEPT_PUBLIC_URLі входить туди, а не туди, де ви запитали. Скидання пароля встановлює пароль там; потім увійдіть на адресі, де були. ЯкщоKEPT_PUBLIC_URLнедоступний з вашого місця, скористайтеся паролем. - Ключі доступу: додавайте та використовуйте їх на
KEPT_PUBLIC_URL. Додаткова адреса пропонує пароль або посилання з листа і пояснює чому. - Точні адреси: схема, хост і порт порівнюються повністю.
http://kept.lan— це неhttp://kept.lan:8080, аkept.lan.example.com— це неkept.lan. Шаблон, шлях, логін або сумішhttpіhttpsзупиняють Kept при запуску з повідомленням про те, що саме. Порожнє значення — те саме, що його відсутність. - Перенаправлені заголовки:
HostіX-Forwarded-*не беруть участі, тож ваш проксі не може додати адресу випадково або забрати її. Спрямовуйте його на Kept для кожної адреси, яку перелічуєте.
Ціна: сторінка, надана за переліченою адресою, вважається самим Kept і може використовувати вхід того, хто її відкриє. Тож перелічуйте лише адреси, що ведуть до цього Kept, на іменах і IP, які ви контролюєте.
Додати HTTPS: спочатку Tailscale
Section titled “Додати HTTPS: спочатку Tailscale”Найменше зусиль для домогосподарства: встановіть Tailscale на машину, де працює Kept, і на кожен телефон і комп’ютер, що його використовує, увімкніть сертифікати HTTPS для вашої tailnet, і подавайте Kept командою
tailscale serve --bg 8080Тоді Kept доступний за https://<machine>.<tailnet>.ts.net, із сертифікатом, якому довіряє кожен
пристрій, з дому чи зі сторони. Встановіть KEPT_PUBLIC_URL на цю адресу і перезапустіть Kept.
Докладніше в Розгорнути Kept на HTTPS.
Додати HTTPS: Caddy з власним центром сертифікації
Section titled “Додати HTTPS: Caddy з власним центром сертифікації”Без Tailscale і без публічного домену Caddy може підписати сертифікат для імені у домашній мережі
сам (tls internal). Це працює, але не швидко: кожен пристрій, що відкриває Kept, треба навчити
довіряти кореневому сертифікату Caddy, по одному, для кожної людини у будинку. Поки пристрій йому
не довіряє, браузер показує попередження про безпеку.
-
Оберіть ім’я, яке кожен пристрій може розв’язати до машини, наприклад
kept.home.arpa(запис DNS на вашому роутері або запис у файлі hosts кожного пристрою). -
Встановіть його в
.env:Terminal window KEPT_DOMAIN=kept.home.arpaKEPT_PUBLIC_URL=https://kept.home.arpa -
Caddy постачається з
compose.full.yaml: завантажте його іdocker/caddy/Caddyfile, і встановітьCOMPOSE_FILE=compose.full.yamlу.env, як у Розгорнути Kept на HTTPS. Потім додайтеtls internalдо Caddyfile:{$KEPT_DOMAIN} {tls internalencode zstd gzipreverse_proxy kept:8080} -
Запустіть Caddy і скопіюйте його кореневий сертифікат із тому даних:
Terminal window docker compose --profile https up -ddocker compose cp caddy:/data/caddy/pki/authorities/local/root.crt ./kept-root.crt -
Встановіть
kept-root.crtна кожен пристрій і довірте йому:- iPhone і iPad: надішліть його на пристрій (AirDrop або пошта), встановіть профіль у Налаштування → Загальні → VPN & Device Management, потім увімкніть повну довіру в Налаштування → Загальні → About → Certificate Trust Settings.
- Android: у налаштуваннях безпеки встановіть як CA-сертифікат (назва меню залежить від виробника). Деякі застосунки ігнорують сертифікати, встановлені користувачем.
- Комп’ютери: додайте до довірених сертифікатів системи (Keychain Access на Mac, диспетчер сертифікатів у Windows, сховище CA дистрибутиву в Linux). Firefox може мати власний список.
Корінь Caddy діє десять років; сертифікати, які він підписує, поновлюються самі. Приватний ключ
кореня залишається у томі caddy-data: будь-хто, хто його скопіює, може підписувати будь-яке
ім’я, якому ваші пристрої тепер довіряють, тож бережіть цей том як пароль. mkcert —
та сама ідея з іншим інструментом.
Відкриття Kept за правильною адресою
Section titled “Відкриття Kept за правильною адресою”Відкривайте Kept за адресою з KEPT_PUBLIC_URL. Якщо відкрито за іншою (наприклад, IP-адреса
машини, коли URL називає kept.home.arpa), вхід повідомляє, за якою адресою налаштований цей
Kept, з посиланням на неї.