Self-hosted family wiki engine / photoalbum
Фамильный вики-движок и фотоальбом.
Скачайте файл docker-compose.lite.yml.
Опционально:
Настройте доступ по HTTPS для дополнительной безопасности.
Вы можете использовать любые доступные сервисы, например Cloudflare Tunnel (бесплатно, несложно, нужен домен), Synology DDNS (бесплатно, просто, нужен Synology NAS), или другие.
Это трудоемкий шаг, поэтому если вы просто хотите попробовать Bonsai своими руками локально - его и следующий можно пропустить или отложить.
Опционально:
Создайте приложение авторизации Google (или Yandex, Вконтакте).
Отредактируйте файл docker-compose.lite.yml
:
Auth__Google__ClientId
и Auth__Google__ClientSecret
Auth__AllowPasswordAuth=false
, если хотите отключить менее безопасную авторизацию по паролюЗапустите все контейнеры с помощью docker compose
:
docker-compose -f docker-compose.lite.yml up -d
После старта Bonsai будет доступен на порту 8080
.
Для участия в разработке понадобится:
External/ffmpeg
в корне проекта (необходимы исполняемые файлы ffmpeg
и ffprobe
).appsettings.Development.json
, пропишите строку подключения к БД: {
"ConnectionStrings": {
"EmbeddedDatabase": "Data Source=App_Data/bonsai.db",
"UseEmbeddedDatabase": true
},
"Auth": {
"AllowPasswordAuth": true
}
}
Опционально, но рекомендуемо:
Создайте приложение авторизации Google (или Yandex, Вконтакте).
Впишите данные для авторизации в файл appsettings.Development.json
и установите свойство AllowPasswordAuth
в значение false
:
{
"Auth": {
"AllowPasswordAuth": false,
"Google": {
"ClientId": "<...>",
"ClientSecret": "<...>"
},
"Yandex": {
"ClientId": "<...>",
"ClientSecret": "<...>"
},
"Vkontakte": {
"ClientId": "<...>",
"ClientSecret": "<...>"
}
}
}
Создайте базу данных:
dotnet ef database update
Запустите сборку стилей и скриптов:
npm install
npm run build
Запустите приложение (из Visual Studio или через dotnet run
).
Если вам ценна информация, которую вы заносите в Bonsai, обязательно НАСТРОЙТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ.
Копировать необходимо следующие данные:
wwwroot/media
(могут быть гигабайты)В комплектации по-умолчанию вам достаточно скопировать две папки, используя любые доступные средства (копирование на дополнительные носители, загрузка в облако, и так далее). При использовании БД PostgreSQL потребуются дополнительные действия по выгрузке содержимого БД. Выбор наиболее уместного подхода, с учетом вашего бюджета и объема данных, остается за вами.
Bonsai поддерживает 2 метода авторизации: OAuth с использованием внешних сайтов и авторизация по паролю.
OAuth является предпочтительным: он проще для пользователей, более безопасный и универсальный. Если можете, используйте его! Для этого вам потребуется создать приложение авторизации на сайте Google, ВКонтакте или в Яндексе, как написано в инструкции. Можно подключить несколько авторизационных приложений одновременно - пользователи смогут выбирать из них то, которое им больше по душе.
Также вы можете создать учетную запись с авторизацией по логину и паролю. Она пригодится в двух случаях:
Несколько фактов об авторизации, которые стоит иметь в виду: