Skip to content

安装面板

面板端又称后端/主控端,指 nyanpass 的 backend 程序。

需要注意

  1. 请勿在中国服务器安装面板端,否则一定会遇到网络问题。
  2. 建议按照教程使用 caddy 反代,不推荐使用宝塔/aapanel,也不提供有关教程。
  3. 教程中如果遇到任何目录或者配置文件不存在,请自行创建。

0 安装依赖

安装 docker & compose

apt-get update
apt-get install -y chrony
curl -fsSL https://get.docker.com | sh

1 获取程序

通过以下命令快速获取 backend 程序。

mkdir -p /opt/backend
cd /opt/backend
bash <(curl -fLSs https://api.candypath.eu.org/download/download.sh) https://api.candypath.eu.org rel_backend_linux_amd64
mkdir -p /opt/backend
cd /opt/backend
bash <(curl -fLSs https://api.candypath.eu.org/download/download.sh) https://api.candypath.eu.org rel_backend_linux_arm64

2 编写配置文件

以下内容编辑为 /opt/backend/config.yml

这是最小配置,完整配置请看这里

# 数据库使用 sqlite3
database-path: "sqlite3://data.db"
# 或者使用 mysql (如果不懂,严格按照下面格式填写)
# database-path: "mysql://用户名:密码@tcp(127.0.0.1:3306)/数据库名?charset=utf8mb4&parseTime=true"

# 监听地址
# 使 backend 监听在 127.0.0.1:18888 ,本文后续默认这个地址为 backend 程序监听的地址
# 如果无需反代,可以填 0.0.0.0:18888 直接监听在公网
listen: 127.0.0.1:18888

# 授权码
# 建议在配置文件中指定,也可以在命令中使用 -key 指定
key: xxxxxx

3 配置服务与反代

本步是常规的 docker compose 服务与 caddy 反代的操作,如果您对此很熟悉或者有别的方案,可以直接跳过。

以下内容编辑为 /opt/backend/docker-compose.yaml

version: "3"

services:
  nya:
    image: alpine
    network_mode: host
    restart: always
    volumes:
      - .:/opt/backend
    working_dir: /opt/backend
    command: ./rel_backend
  caddy:
    image: caddy:2-alpine
    network_mode: host
    restart: always
    volumes:
      - .:/opt/backend
      - ./caddy:/etc/caddy
      - ./caddy_data:/data

以下内容编辑为 /opt/backend/caddy/Caddyfile

{
    servers {
        protocols h1 h2
    }
}

改成你的域名 {
    ## TLS 必须配置,请在下面选择一种配置方法

    # TLS 本地证书
    # tls /opt/backend/caddy/your.crt /opt/backend/caddy/your.key

    # TLS 自动申请(适合 直连面板服务器 的用户)
    # tls your@email.com

    # TLS 自签(适合套 CDN 加速的用户)
    tls internal

    # 前端资源
    file_server {
        root /opt/backend/public
    }

    # /api/* 反代到 backend
    reverse_proxy /api/* http://127.0.0.1:18888 {
        trusted_proxies 127.0.0.0/8 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22 2400:cb00::/32 2606:4700::/32 2803:f800::/32 2405:b500::/32  2405:8100::/32 2a06:98c0::/29 2c0f:f248::/32
        header_up CF-Connecting-IP {http.request.header.CF-Connecting-IP}
    }
}

以下内容编辑为 /opt/backend/docker-compose.yaml

version: "3"

services:
  nya:
    image: alpine
    network_mode: host
    restart: always
    volumes:
      - .:/opt/backend
    working_dir: /opt/backend
    command: ./rel_backend

nginx 提示

如果你使用 nginx 反代,请自行搜索开启 Websocket 的配置,否则探针无法使用。

再次提醒

使用宝塔/aapanel/1panel的用户,默认不具备正确配置nginx的能力。这类用户如果443端口已被占用,建议换一台服务器搭建。

4 创建数据库

第一次运行,请初始化数据库:

MIGRATE=1 ADMIN="admin" ./rel_backend

其中 admin 是默认管理员账户名,可自行修改。

如果无误,运行此命令将输出管理员的帐号与密码。

5 启动

docker compose up -d
docker compose logs # 查看日志

6 使用

设置 DNS 解析到您的域名,一般建议开启 CDN。

最后,使用浏览器访问 你的域名 即可。

访问须知

由于网站使用了某些前端资源,中国地区访问质量可能不佳。我们强烈建议您在代理环境下打开您的网站。