diff --git a/README.md b/README.md index a7ff4cd..6a92e0c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,56 @@ -# standard-notes +# Standard Notes — self-hosted сервер +Готовый набор файлов для запуска своего сервера синхронизации Standard Notes (официальная V2-схема, 4 контейнера). + +## Что внутри + +- `docker-compose.yml` — конфигурация сервисов (server, localstack, mysql, redis) +- `.env` — уже сгенерированы случайные секреты (DB_PASSWORD, AUTH_JWT_SECRET, AUTH_SERVER_ENCRYPTION_SERVER_KEY, VALET_TOKEN_SECRET) +- `localstack_bootstrap.sh` — служебный скрипт для внутренней очереди сообщений + +## Запуск + +1. Скопируйте все три файла на сервер в одну папку, например `~/standardnotes/` +2. Убедитесь, что установлены Docker и Docker Compose: + ``` + docker --version + docker compose version + ``` + 3. В папке с файлами запустите: + ``` + docker compose pull + docker compose up -d + ``` + 4. Проверьте логи, что всё стартовало без ошибок: + ``` + docker compose logs -f + ``` + 5. Сервер будет доступен на порту **3000** (API/sync) и **3125** (файлы/вложения). + + ## Подключение с Android + + 1. Установите приложение **Standard Notes** (Play Store или F-Droid) + 2. На экране входа/регистрации откройте **Advanced Options** + 3. В поле **Sync Server URL** укажите адрес вашего сервера, например: + ``` + http://ВАШ_IP:3000 + ``` + или, если настроен домен и HTTPS через reverse proxy: + ``` + https://notes.вашдомен.ru + ``` + 4. Зарегистрируйте новый аккаунт — он будет создан прямо на вашем сервере, без привязки к Joplin Cloud/Standard Notes Cloud + 5. На компьютере (десктоп-приложение или app.standardnotes.com) повторите те же шаги с тем же email — заметки будут синхронизироваться между устройствами через ваш сервер + + ## Важно про доступ извне + + Если телефон будет подключаться не из домашней сети, а из мобильного интернета — нужен один из вариантов: + - **Reverse proxy + домен + HTTPS** (рекомендуется) — например через Nginx Proxy Manager или Caddy, с сертификатом Let's Encrypt + - **VPN до дома** (Tailscale/WireGuard) — проще в настройке, не требует открытых портов и домена + + Без HTTPS synchronization по чистому HTTP через интернет работать будет, но небезопасно (логин/пароль и данные идут в открытом виде) — подходит только для теста внутри локальной сети. + + ## Резервное копирование + + Все данные лежат в папках `./data/mysql`, `./data/redis` и `./uploads` рядом с docker-compose.yml — их достаточно регулярно бэкапить (например, простым cron + tar/rsync на другой диск). + \ No newline at end of file