* 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>
4.4 KiB
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