1
1
mirror of https://github.com/ellie/atuin.git synced 2024-11-09 20:37:22 +03:00
atuin/docs/ru/server_ru.md
mb6ockatf 6e280e253a
Add Russian documentation translation (#365)
* 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>
2022-04-30 20:51:50 +00:00

4.4 KiB
Raw Blame History

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.

Этот файл выглядит как-то так:

host = "0.0.0.0"
port = 8888
open_registration = true
db_uri="postgres://user:password@hostname/database"

Конфигурация так же может находииться в переменных окружения.

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 чтобы сделать проще развертывание сервера в контейнере.

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:

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:

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

Включите и запустите службу командой:

systemctl enable --now atuin

Проверьте, работает ли:

systemctl status atuin