Скачать дистрибутив Go Notebook
Архитектура Intel/AMD 64-bit
Бинарник скомпилирован с флагом фонового режима. При старте не создает черных окон терминала — сервер скрытно и тихо шуршит в бэкграунде.
Универсальный бинарник Linux
Оптимизированный чистый исполняемый файл для развертывания на домашних серверах, ПК, NAS-хранилищах или удаленных VPS/VDS.
Как пользоваться
После установки и запуска сервиса в адресной строке браузера набрать localhost:8080
🛡️ Возможности встроенной Админ-панели
Go Notebook оснащен полноценным изолированным модулем администрирования (доступен по роуту `/admin-panel`), который позволяет владельцу сервера контролировать состояние системы, разграничивать доступ и кастомизировать глобальное окружение блокнота.
🔹 Полноценный CRUD пользователей: В админке выводится интерактивная таблица всех зарегистрированных в системе профилей. Администратор может на лету менять логины, адреса электронных почт, полные имена пользователей, текстовое описание «О себе» или изменять пароли в случае их утери.
🔹 Безопасное удаление: Реализована функция безвозвратного удаления аккаунтов из базы данных SQLite с подтверждением действия, чтобы исключить случайные клики. В бэкенд встроена жесткая защита от самоликвидации — система заблокирует попытку администратора удалить свой собственный активный профиль, в котором он авторизован.
🔹 Контроль первого запуска: Приложение автоматически распознает состояние базы. Если в ней нет ни одного пользователя, активируется безопасный мастер первоначальной настройки. Первый зарегистрировавшийся пользователь автоматически закрепляет за собой полные права суперпользователя.
🔹 Управление ограничениями сеток: Из административной панели настраивается поведение пагинации, дефолтные лимиты отображения заметок на главных экранах и базовые стили отображения интерфейса.
⚙️ Параметры файла конфигурации `config.json`
Файл `config.json` автоматически генерируется в рабочей папке при первом запуске приложения, если отсутствует. Вы можете редактировать его любым текстовым редактором для перенастройки окружения:
{
"server_address": "0.0.0.0",
"server_port": "8080",
"db_path": "./database.db",
"app_env": "production",
"app_mode": "full"
}
- server_address (по умолчанию
"0.0.0.0") — Сетевой интерфейс. Значение"0.0.0.0"делает блокнот доступным для всех устройств в вашей локальной сети. Для жесткой изоляции внутри одного ПК смените на"127.0.0.1". - server_port (по умолчанию
"8080") — Порт веб-сервера. Если порт занят, смените его на любой свободный (например,"9000"). - db_path (по умолчанию
"./database.db") — Физический путь до файла базы данных SQLite. Можно указывать абсолютные пути. - app_env (по умолчанию
"production") — Окружение. В прод-режиме приложение отключает избыточное логирование отладки, ускоряя работу. - app_mode (по умолчанию
"full") — Режим отображения."full"— Стандартный режим со всеми элементами навигации, шапкой, авторизацией и ссылками на админку."embedded"— Минималистичный «чистый холст». Скрывает шапку, логауты и ссылки управления. Идеален для встраивания блокнота на сторонние сайты через<iframe>в качестве виджета.
🐧 Настройка автозапуска (Демон Systemd в Linux)
Чтобы приложение автоматически стартовало при перезагрузке вашего Linux-сервера, оформите его в виде системной службы:
- 1. Создайте рабочую папку и скопируйте туда бинарник:
sudo mkdir -p /opt/gonotebook && sudo chmod +x /opt/gonotebook/notes_linux
- 2. Создайте файл конфигурации службы юнита:
sudo nano /etc/systemd/system/gonotebook.service
- 3. Вставьте в файл следующие параметры конфигурации:
[Unit] Description=Go Notebook Service After=network.target [Service] Type=simple WorkingDirectory=/opt/gonotebook ExecStart=/opt/gonotebook/notes_linux Restart=always RestartSec=5 User=root [Install] WantedBy=multi-user.target
- 4. Примените изменения, активируйте службу в автозагрузку и запустите её:
sudo systemctl daemon-reload sudo systemctl enable gonotebook.service sudo systemctl start gonotebook.service