1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-saltcorn

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Saltcorn Banner

Build and Test OpenCollective

Saltcorn

Saltcorn — это расширяемая открытая система для создания баз данных без кодирования. Используйте её для создания веб- и мобильных приложений с гибкими представлениями, типами данных, макетами и действиями.

Этот репозиторий содержит основной код, включая код, необходимый для самостоятельного размещения экземпляра и для размещения многопользовательского экземпляра.

Благодарности

Saltcorn использует PostgreSQL, node.js, node-postgres, express, live-plugin-manager, craft.js, jQuery-Menu-Editor, Blockly, CodeMirror и другие замечательные бесплатные и открытые проекты.

Попробуйте Saltcorn

ОнлайнМногопользовательский экземпляр Saltcorn доступен по адресу saltcorn.com, и вы можете создать новое приложение под поддоменом по адресу https://saltcorn.com/tenant/create.

Этот сервис бесплатный, но нет гарантий относительно безопасности или доступности вашего приложения или информации, которую вы храните. Этот сервис следует использовать только для изучения возможностей Saltcorn.#### Десктоп

Чтобы попробовать Saltcorn на вашем десктопе, убедитесь, что у вас установлен Node.js 18+ и npm. Затем выполните эти команды в командной строке:

npm config set prefix ~/.local
npm install -g @saltcorn/cli
export SQLITE_FILEPATH=~/saltcorn.sqlite
~/.local/bin/saltcorn reset-schema -f
~/.local/bin/saltcorn serve

Теперь откройте http://localhost:3000/ в вашем браузере. Когда вы захотите запустить это снова, вам нужно будет выполнить команду export и команду saltcorn serve. Или просто выполните SQLITE_FILEPATH=~/saltcorn.sqlite ~/.local/bin/saltcorn serve.

Сервер

Чтобы установить Saltcorn на свежую виртуальную машину, просто установите Node.js и выполните команду npx saltcorn-install -y; см. Быстрая установка сервера на Linux. Чтобы попробовать Saltcorn с помощью Docker, см. Быстрый старт с Docker.

Варианты размещения

Для самостоятельного размещения достаточно 2 ГБ виртуального частного сервера для запуска Saltcorn, если вы не ожидаете высоких объемов трафика. Инструкции по установке приведены ниже. Saltcorn также может работать на виртуальной машине с 1 ГБ памяти, но могут возникнуть проблемы с обновлением.

DigitalOcean и Linode предлагают одноклик-установку для Saltcorn.Если вы размещаете на DigitalOcean, который предлагает виртуальную машину с 2 ГБ памяти за $12 в месяц, пожалуйста, рассмотрите использование нашего рекомендательного кода, который даст вам кредит в размере 100 $ в течение 60 дней.## Быстрый старт с Docker

Вы можете запустить локальный экземпляр для быстрого тестирования, выполнив следующую команду:

cd ./deploy/examples/test && docker-compose up -d

и затем перейдите по адресу http://localhost:3000 в вашем веб-браузере.

ЗАМЕЧАНИЕ: Зависимости для сборки мобильных приложений довольно большие, они не устанавливаются в стандартном образе Docker (saltcorn/saltcorn). Чтобы использовать образ, который включает мобильные зависимости, либо используйте 'saltcorn/saltcorn-with-mobile' напрямую, либо замените 'saltcorn/saltcorn' на 'saltcorn/saltcorn-with-mobile' в файле docker-compose.

Быстрая установка сервера на Linux

Это было тестировано на Debian 11 и 12, Ubuntu 18.04, 20.04, 22.04, 24.04, OpenSuSE, AlmaLinux и Fedora. Все, что вам нужно, это выполнить эти три строки в командной строке, как root или как пользователь с правом sudo:

wget -qO - https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -qqy nodejs
npx saltcorn-install -y

Первые две строки установят Node.js 22 (вы также можете использовать 18, 20 или 24). Последняя строка вызовет скрипт установки Saltcorn, примет все значения по умолчанию и установит PostgreSQL и настроит Saltcorn как службу, слушающую порт 80.

Если вам нужен другой порт, другой базовый движок данных или чтобы не устанавливать как службу, вы можете опустить финальный -y, чтобы получить интерактивную установку.

wget -qO - https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs libpq-dev build-essential python-is-python3
```## Установка из NPM пакетов

Инструкции были протестированы на Ubuntu 20.04 на виртуальной машине с 1 ГБ оперативной памяти.

TL;DR: `npm install -g @saltcorn/cli && saltcorn setup`

### Установка Node.js и npm

Для последней версии (v22) Node.js:

wget -qO - https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs libpq-dev build-essential python-is-python3


Вы также можете установить любую версию Node.js от 18 до 24.

### Установка Saltcorn

`npm install -g @saltcorn/cli`

Если установка не удалась, вы можете указать npm игнорировать файловые разрешения во время компиляции:

`npm install -g @saltcorn/cli --unsafe-perm`

В некоторых случаях указанные выше команды не устанавливают библиотеку `sd-notify` (которая полезна для интеграции с systemd), несмотря на то, что она установлена. Вы можете исправить это, установив её позже:

`npm install -g sd-notify`

### Настройка (автоматическая)

Если вы являетесь `root`, создайте пользователя с правами sudo и переключитесь на этого пользователя:

adduser saltcorn adduser saltcorn sudo su saltcorn cd mkdir -p ~/.config/


затем выполните

`saltcorn setup` и следуйте инструкциям.

### Настройка (ручная)

ЗАМЕЧАНИЕ: эта инструкция несколько устарела; см. https://wiki.saltcorn.com/view/ShowPage?title=Install%20on%20Ubuntu, в частности последний раздел.

Пропустите этот раздел, если вы выполнили `saltcorn setup` или `npx saltcorn-install`

1. Установите PostgreSQL: `sudo apt install postgresql postgresql-client`
2. Или,

   - Создайте JSON-файл `.saltcorn` в вашей директории конфигурации XDG (на Ubuntu это обычно \$HOME/.config) со следующими значениями:     - `host`: адрес сервера PostgreSQL
     - `port`: порт сервера PostgreSQL
     - `database`: имя базы данных PostgreSQL
     - `user`: имя пользователя PostgreSQL
     - `password`: пароль пользователя PostgreSQL
     - `sslmode`: режим SSL PostgreSQL [SSL Mode](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE)
     - `sslcert`: сертификат SSL PostgreSQL [SSL Certificate](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLCERT)
     - `sslkey`: ключ SSL PostgreSQL [SSL Key](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLKEY)
     - `sslrootcert`: корневой сертификат SSL PostgreSQL [SSL Root Certificate](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLROOTCERT)
     - `session_secret`: секретная сессия Saltcorn
     - `multi_tenant`: запуск в многопользовательском режиме (true/false)

Например:

```json
{
   "host":"localhost",
   "port":5432,
   "database":"saltcorn",
   "user":"tomn",
   "password":"dgg2342vfB",
   "session_secret":"hrh64b45b3",
   "multi_tenant":true
}

Или,

  • Установите переменные окружения. SALTCORN_SESSION_SECRET, SALTCORN_MULTI_TENANT (по умолчанию false), и либо DATABASE_URL или PGHOST, PGPORT, PGUSER, PGDATABASE, PGPASSWORD. Вы также можете установить PGSSLMODE, PGSSLCERT, PGSSLKEY, PGSSLROOTCERT (см. документацию Postgres)

Запуск

saltcorn serve

Установка сервера

Установка Saltcorn как службы

Установка Saltcorn как службы означает, что он будет работать в фоновом режиме и автоматически перезапускаться при перезагрузке системы.

Создайте файл /lib/systemd/system/saltcorn.service с таким содержимым:``` [Unit] Description=saltcorn Documentation=https://saltcorn.com After=network.target

[Service] Type=notify WatchdogSec=30 User=saltcorn WorkingDirectory=/home/saltcorn ExecStart=/home/saltcorn/.local/bin/saltcorn serve -p 80 Restart=always Environment="NODE_ENV=production"

[Install] WantedBy=multi-user.target


запустите:

sudo systemctl daemon-reload sudo systemctl start saltcorn sudo systemctl enable saltcorn


Это может быть в другом месте в системах, отличных от Debian, например, в `/etc/systemd/system`.

Чтобы разрешить пользователю `saltcorn` открывать порт 80, вам нужно разрешить это node.js, запустив:

sudo setcap 'cap_net_bind_service=+ep' which node


#### SSL-сертификат

Используйте [Let's Encrypt](https://letsencrypt.org/) или [Cloudflare](https://www.cloudflare.com/ssl/) для получения бесплатного SSL-сертификата (для https).

## Установка из исходного кода (для разработчиков Saltcorn)

### Установка node и npm на Ubuntu

`sudo apt install nodejs npm libpq-dev`

позволяет получить рабочую версию. Для более новой версии (v22) Node.js:

wget -qO - https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs libpq-dev


### Подготовка Node

предполагая, что вы склонировали этот репозиторий в \$HOME/saltcorn (в противном случае скорректируйте ПУТЬ)

npm config set prefix ~/.local echo 'export PATH=$HOME/saltcorn/packages/saltcorn-cli/bin:$HOME/.local/bin:$PATH' >> ~/.bashrc source ~/.bashrc


### Установка пакетов

запустите

npm install --legacy-peer-deps npm run tsc


для установки всего. Если установка прошла успешно, вы должны теперь иметь возможность запустить `saltcorn` в вашей оболочке.

## Пакеты

- [@saltcorn-cli](https://github.com/saltcorn/saltcorn/tree/master/packages/saltcorn-cli): команда командной строки
```## Советы по развертыванию

- Если ваш сервер Saltcorn работает за прокси-сервером обратного проксирования, таким как Nginx, обратитесь к [документации Socket.io для прокси-серверов обратного проксирования](https://socket.io/docs/v3/reverse-proxy/#nginx). Эта конфигурация необходима для Socket.io, который обеспечивает функциональность чата, просмотра логов и потокового API (например, для [плагина recorder](https://www.npmjs.com/package/@saltcorn/recorder)).
  - Если вы работаете за Apache >= 2.4.47, вам потребуется всего две строки в разделе виртуального хоста:
    ```
    # Для идентификации арендатора
    ProxyPreserveHost On 

    ProxyPass / http://localhost:3000/ upgrade=websocket 
    ```

## Советы по разработке

### Сервер разработки

Перейдите в вашу копию репозитория Saltcorn, затем запустите это в оболочке:

`npm run tsc; while [ 1 ]; do SALTCORN_NWORKERS=1 saltcorn serve --dev;done`

Это перезапустит сервер и перестроит с помощью tsc каждый раз, когда вы сохраните файл в репозитории Saltcorn или в локальном плагине.

### Работа с локальными плагинами

Локальный плагин означает, что код находится в вашем домашнем каталоге, и когда вы редактируете его, плагин обновляется в экземпляре после перезапуска (что произойдет автоматически при сохранении, когда вы запускаете сервер разработки).

Если у вас есть плагин, выложенный в каталоге, вы можете установить его в запущенном экземпляре через командную строку двумя разными способами:* Если плагин еще не установлен в экземпляре, запустите `saltcorn install-plugin -d путь_к_плагину` (если плагин выложен в путь_к_плагину).

* Если плагин уже установлен в экземпляре, вы можете преобразовать его в локальный плагин с помощью команды CLI `dev:localize-plugin`: `saltcorn dev:localize-plugin имя_плагина {путь_к_плагину}`.

* Вы также можете деактивировать локализацию плагина, увидеть помощь для `dev:localize-plugin`

### Запуск тестов

Запустите все тесты Jest с `saltcorn run-tests`

Запустите тесты Jest для конкретного пакета: `saltcorn run-tests saltcorn-data` для запуска тестов для пакета данных - третий аргумент должен соответствовать имени директории внутри `packages/`. Отчет о покрытии тестами: `saltcorn run-tests saltcorn-data -c`

Запуск конкретного теста по имени: `saltcorn run-tests saltcorn-data -t 'File class'`


Для запуска Python-базированных тестов безопасности увидьте файл github/pytest.yml.

### Prettier

Мы используем prettier:

`npm install -g prettier`

для форматирования кода:

`git ls-files | grep -v builder_bundle | xargs prettier --write`

Запустите это перед каждым запросом на слияние.


### React сборщик

cd packages/saltcorn-builder npm install npm install styled-components@4.4.1 npm run build


### Пересборка React при сохранении

в `saltcorn/packages/saltcorn-builder/` выполните:

`git ls-files | entr npm run builddev`

но это не является производственной сборкой, поэтому выполните

`npm run build`

по завершении.

Если вы получаете эту ошибку: `Error: error:0308010C:digital envelope routines::unsupported`,
выполните это и попробуйте снова: `export NODE_OPTIONS=--openssl-legacy-provider`.### Сборка TSDocs

npm install --legacy-peer-deps npm run tsc


затем

`npm run docs`

TSDocs будут доступны в `docs/`.

Для развертывания этих файлов на https://saltcorn.github.io/tsdocs/:

cp -R docs/* /path/to/tsdocs cd /path/to/tsdocs git add . git commit -am 'номер версии или другое сообщение...'


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Saltcorn — это бескодовое веб-приложение для управления базами данных. Оно оснащено привлекательной приборной панелью, богатой экосистемой, генератором представлений и интерфейсом с поддержкой тем. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-saltcorn.git
git@api.gitlife.ru:oschina-mirror/mirrors-saltcorn.git
oschina-mirror
mirrors-saltcorn
mirrors-saltcorn
master