atuin/docs/zh-CN/server.md
ZhiHong Li e05c19d0ff
Add Chinese documentation translation & Fix spelling mistakes (#373)
* Add Chinese documentation translation

* Fix spelling mistakes
2022-05-01 09:25:12 +01:00

3.3 KiB
Raw Blame History

atuin server

Atuin 允许您运行自己的同步服务器,以防您不想使用我(ellie)托管的服务器 :)

目前只有一个子命令,atuin server start,它将启动 Atuin http 同步服务器。

USAGE:
    atuin server start [OPTIONS]

FLAGS:
        --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -h, --host <host>
    -p, --port <port>

配置

服务器的配置与客户端的配置是分开的,即使它们是相同的二进制文件。服务器配置可以在 ~/.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

Atuin 服务器应该监听的地址

默认为 127.0.0.1.

port

Atuin 服务器应该监听的端口

默认为 8888.

open_registration

如果为 true atuin 将接受新用户注册。如果您不希望其他人能够使用您的服务器,请在创建自己的账号后将此设置为 false

默认为 false.

db_uri

一个有效的 postgres URI, 用户和历史记录数据将被保存到其中。

Docker

提供了一个 docker 镜像image可以更轻松地将服务器部署为容器container

docker run -d -v "$USER/.config/atuin:/config" ghcr.io/ellie/atuin:latest server start

Docker Compose

使用已有的 docker 镜像image来托管你自己的 Atuin可以使用提供的 docker-compose 文件来完成

docker-compose.yml 同级目录下创建一个 .env 文件,内容如下:

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: # 不要删除索引数据库文件的永久存储空间!
      - "./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 来管理你的 Atuin 服务器

以下 systemd 单元文件用于管理您的 docker-compose 托管服务:

[Unit]
Description=Docker Compose Atuin Service
Requires=docker.service
After=docker.service

[Service]
# docker-compose 文件所在的位置
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