---
title: 安装教程
description: 
published: 1
date: 2023-05-12T09:11:32.597Z
tags: 
editor: markdown
dateCreated: 2023-05-12T04:25:24.817Z
---

# Docker

> 推荐使用Docker版本，功能及基础环境更完整！
{.is-success}

**docker cli**

```shell
docker run -d \
    --name nas-tools \
    --hostname nas-tools \
    -p 3000:3000   `# 默认的webui控制端口` \
    -v $(pwd)/config:/config  `# 冒号左边请修改为你想在主机上保存配置文件的路径` \
    -v /你的媒体目录:/你想设置的容器内能见到的目录    `# 媒体目录，多个目录需要分别映射进来` \
    -e PUID=0     `# 想切换为哪个用户来运行程序，该用户的uid，详见下方说明` \
    -e PGID=0     `# 想切换为哪个用户来运行程序，该用户的gid，详见下方说明` \
    -e UMASK=000  `# 掩码权限，默认000，可以考虑设置为022` \
    -e NASTOOL_AUTO_UPDATE=false `# 如需在启动容器时自动升级程程序请设置为true` \
    -e NASTOOL_CN_UPDATE=false `# 如果开启了容器启动自动升级程序，并且网络不太友好时，可以设置为true，会使用国内源进行软件更新` \
    jxxghp/nas-tools
```

**docker-compose**

新建`docker-compose.yaml`文件如下，并以命令`docker-compose up -d`启动。

```yaml
version: "3"
services:
  nas-tools:
    image: jxxghp/nas-tools:latest
    ports:
      - 3000:3000        # 默认的webui控制端口
    volumes:
      - ./config:/config   # 冒号左边请修改为你想保存配置的路径
      - /你的媒体目录:/你想设置的容器内能见到的目录   # 媒体目录，多个目录需要分别映射进来，需要满足配置文件说明中的要求
    environment: 
      - PUID=0    # 想切换为哪个用户来运行程序，该用户的uid
      - PGID=0    # 想切换为哪个用户来运行程序，该用户的gid
      - UMASK=000 # 掩码权限，默认000，可以考虑设置为022
      - NASTOOL_AUTO_UPDATE=false  # 如需在启动容器时自动升级程程序请设置为true
      - NASTOOL_CN_UPDATE=false # 如果开启了容器启动自动升级程序，并且网络不太友好时，可以设置为true，会使用国内源进行软件更新
     #- REPO_URL=https://ghproxy.com/https://github.com/NAStool/nas-tools.git  # 当你访问github网络很差时，可以考虑解释本行注释
    restart: always
    network_mode: bridge
    hostname: nas-tools
    container_name: nas-tools
```

> 注意：同一存储空间的目录应直接映射根目录到容器中，不同映射目录在系统层会被认为是跨盘，从而无法进行硬链接。
{.is-warning}


![volume.png](/images/volume.png)


# 群晖
添加矿神群晖SPK套件源直接安装：

https://spk.imnks.com/

https://spk7.imnks.com/

> 注意：如需开启浏览器仿真相关功能，需要同步安装WebStation，同时没有Redis缓存功能。

# 可执行文件
下载打包好的执行文件运行即可，会自动生成配置文件目录：

https://github.com/NAStool/nas-tools/releases

> 注意：需要安装浏览器才能开启浏览器仿真相关功能，同时没有Redis缓存功能。

# 源码运行
python3.10版本，需要预安装cython，如发现缺少依赖包需额外安装：
```shell
python3 -m pip install cython
git clone -b master https://github.com/NAStool/nas-tools --recurse-submodule 
python3 -m pip install -r requirements.txt
export NASTOOL_CONFIG="/xxx/config/config.yaml"
nohup python3 run.py & 
```
> 注意：需要安装浏览器才能开启浏览器仿真相关功能，同时没有Redis缓存功能。

# 版本更新
**Docker自动更新**
- 正常情况下，如果设置了`NASTOOL_AUTO_UPDATE=true`，重启容器即可自动更新NAStool程序。

- 设置了`NASTOOL_AUTO_UPDATE=true`时，如果启动时的日志提醒你 "更新失败，继续使用旧的程序来启动..."，请再重启一次，如果一直都报此错误，请改善你的网络。

- 设置了`NASTOOL_AUTO_UPDATE=true`时，如果启动时的日志提醒你 "无法安装依赖，请更新镜像..."，则需要删除旧容器，删除旧镜像，重新pull镜像，再重新创建容器。

- 如果你访问github的网络不太好，可以考虑在创建容器时增加设置一个环境变量。

```shell
-e REPO_URL="https://ghproxy.com/https://github.com/NAStool/nas-tools.git" 
```

**手动更新**
- 界面右上角用户图标点击`下拉菜单-> 更新`。
- 界面左侧菜单栏底部版本号黄色高亮代表有新版本，`点击右侧图标更新`。
- 重新拉取镜像，`重置/重建`容器（群晖Docker为重置、Portainer为重建），正常映射/config目录到宿主机的情况下配置不会丢失。
