mirror of
https://github.com/atuinsh/atuin.git
synced 2024-12-01 20:55:49 +01:00
6e280e253a
* Translate config.md to russian * Translate docs/import_ru.md to russian * Translate docs/key-binding.md to russian * Translate docs/list_ru.md to russian * Correct misprint in config_ru.md * Translate docs/search.md to russian * Translate docs/server_ru.md to russian * Translate docs/shell-completions.md to russian * Translate docs/stats.md to russian * Translate docs/sync.md to russian * Add .idea/ to .gitignore * Translated files are placed in a separate folder * Correct misprint (~~истоии~~ => истории). Correct links between files Co-authored-by: BigProject404 <bigproject404@yandex.ru>
161 lines
4.4 KiB
Markdown
161 lines
4.4 KiB
Markdown
# `atuin server`
|
||
|
||
Autin позволяет запустить свой собственный сервер синхронизации, если вы
|
||
не хотите использовать мой :)
|
||
|
||
Здесь есть только одна субкоманда, `atuin server start`, которая запустит
|
||
Autin http-сервер синхронизации
|
||
|
||
```
|
||
USAGE:
|
||
atuin server start [OPTIONS]
|
||
|
||
FLAGS:
|
||
--help Prints help information
|
||
-V, --version Prints version information
|
||
|
||
OPTIONS:
|
||
-h, --host <host>
|
||
-p, --port <port>
|
||
```
|
||
|
||
## config
|
||
|
||
Серверная конфигурация лежит отдельно от файла пользовательсокй, даже если
|
||
это один и тот же бинарный файл. Серверная конфигурация лежит в `~/.config/atuin/server.toml`.
|
||
|
||
Этот файл выглядит как-то так:
|
||
|
||
```toml
|
||
host = "0.0.0.0"
|
||
port = 8888
|
||
open_registration = true
|
||
db_uri="postgres://user:password@hostname/database"
|
||
```
|
||
|
||
Конфигурация так же может находииться в переменных окружения.
|
||
|
||
```sh
|
||
ATUIN_HOST="0.0.0.0"
|
||
ATUIN_PORT=8888
|
||
ATUIN_OPEN_REGISTRATION=true
|
||
ATUIN_DB_URI="postgres://user:password@hostname/database"
|
||
```
|
||
|
||
### host
|
||
|
||
Адрес хоста, который будет прослушиваться сервером Autin
|
||
|
||
По умолчанию это `127.0.0.1`.
|
||
|
||
### post
|
||
|
||
POST, который будет прослушиваться сервером Autin.
|
||
|
||
По умолчанию это `8888`.
|
||
|
||
### open_registration
|
||
|
||
Если `true`, autin будет разрешать регистрацию новых пользователей.
|
||
Установите флаг `false`, если после создания вашего аккаута вы не хотите, чтобы другие
|
||
могли пользоваться вашим сервером.
|
||
|
||
По умолчанию `false`.
|
||
|
||
### db_uri
|
||
|
||
Действующий URI postgres, где будет сохранён аккаунт пользователя и история.
|
||
|
||
## Docker
|
||
|
||
Поддерживается образ Docker чтобы сделать проще развертывание сервера в контейнере.
|
||
|
||
```sh
|
||
docker run -d -v "$USER/.config/atuin:/config" ghcr.io/ellie/atuin:latest server start
|
||
```
|
||
|
||
## Docker Compose
|
||
|
||
Использование вашего собственного docker-образа с хостингом вашего собственного Autin может быть реализовано через
|
||
файл docker-compose.
|
||
|
||
Создайте файл `.env` рядом с `docker-compode.yml` с содержанием наподобие этому:
|
||
|
||
```
|
||
ATUIN_DB_USERNAME=atuin
|
||
# Choose your own secure password
|
||
ATUIN_DB_PASSWORD=really-insecure
|
||
```
|
||
|
||
Создайте `docker-compose.yml`:
|
||
|
||
```yaml
|
||
version: '3.5'
|
||
services:
|
||
atuin:
|
||
restart: always
|
||
image: ghcr.io/ellie/atuin:main
|
||
command: server start
|
||
volumes:
|
||
- "./config:/config"
|
||
links:
|
||
- postgresql:db
|
||
ports:
|
||
- 8888:8888
|
||
environment:
|
||
ATUIN_HOST: "0.0.0.0"
|
||
ATUIN_OPEN_REGISTRATION: "true"
|
||
ATUIN_DB_URI: postgres://$ATUIN_DB_USERNAME:$ATUIN_DB_PASSWORD@db/atuin
|
||
postgresql:
|
||
image: postgres:14
|
||
restart: unless-stopped
|
||
volumes: # Don't remove permanent storage for index database files!
|
||
- "./database:/var/lib/postgresql/data/"
|
||
environment:
|
||
POSTGRES_USER: $ATUIN_DB_USERNAME
|
||
POSTGRES_PASSWORD: $ATUIN_DB_PASSWORD
|
||
POSTGRES_DB: atuin
|
||
```
|
||
|
||
Запустите службы с помощью `docker-compose`:
|
||
|
||
```sh
|
||
docker-compose up -d
|
||
```
|
||
|
||
### Использование systemd для управления сервером Autin
|
||
|
||
`systemd` юнит чтобы управлять службами, контролируемыми `docker-compose`:
|
||
|
||
```
|
||
[Unit]
|
||
Description=Docker Compose Atuin Service
|
||
Requires=docker.service
|
||
After=docker.service
|
||
|
||
[Service]
|
||
# Where the docker-compose file is located
|
||
WorkingDirectory=/srv/atuin-server
|
||
ExecStart=/usr/bin/docker-compose up
|
||
ExecStop=/usr/bin/docker-compose down
|
||
TimeoutStartSec=0
|
||
Restart=on-failure
|
||
StartLimitBurst=3
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
Включите и запустите службу командой:
|
||
|
||
```sh
|
||
systemctl enable --now atuin
|
||
```
|
||
|
||
Проверьте, работает ли:
|
||
|
||
```sh
|
||
systemctl status atuin
|
||
```
|
||
|