纯内网部署
按照以下步骤在 Ubuntu 20.04 纯内网环境中部署 Steedos。
先决条件
- Ubuntu (版本 20.04) 内网服务器
- 预装了docker服务的linux服务器,需访问外网
安装docker
请在联网的Linux服务器上进行下载操作:
- 访问链接 https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/
- 根据适用的架构(amd64、armhf、arm64或s390x)下载内网环境下所需要的deb文件,并上传到内网服务器tmp路径中
# Docker Engine
docker-ce_24.0.7-1~ubuntu.20.04~focal_amd64.deb
# Docker CLI
docker-ce-cli_24.0.7-1~ubuntu.20.04~focal_amd64.deb
# Docker Container
containerd.io_1.6.9-1_amd64.deb
# Docker Compose
docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb
- 进入内网服务器tmp目录,安装.deb包
sudo dpkg -i ./containerd.io_1.6.9-1_amd64.deb \
./docker-ce_24.0.7-1~ubuntu.20.04~focal_amd64.deb \
./docker-ce-cli_24.0.7-1~ubuntu.20.04~focal_amd64.deb \
./docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb
- 安装完成后,查看docker版本
docker -v
Docker version 24.0.7, build afdd53b
安装 Steedos
在您的内网服务器上创建一个名为 steedos
的文件夹,用于部署和数据存储。
- 进入
steedos
文件夹,创建docker-compose.yml
文件:
version: "3.9"
services:
steedos:
image: steedos/steedos-community:2.6
ports:
- "80:80" # Steedos
- "27017:27017" # MongoDB
- "9001:9001" # Supervisor
- "6379:6379" # Redis
env_file:
- .env
volumes:
- "./steedos-storage:/steedos-storage"
environment:
- STEEDOS_UNPKG_URL=/unpkg/
- STEEDOS_SENTRY_ENABLED=false
- STEEDOS_PUBLIC_ANALYTICS_ENABLED=false
- Create
.env
file:
PORT=80
ROOT_URL=http://serverip
- 在外网服务器上创建
docker-compose.yml
,文件内容与内网上的docker-compose.yml一致,查看docker-compose.yml
文件并下载相关image
docker pull steedos/steedos-community:2.6
- 将下载好的镜像另存为rar格式文件并上传到内网服务器tmp路径中
docker save -o steedos-community.rar steedos/steedos-community:2.6
- 进入内网服务器tmp路径中依次加载镜像
docker load < steedos-community.rar
- 使用以下命令启动 Docker 容器。
docker compose up -d
缓存unpkg
内网环境中首次访问会蓝屏,这时需要在联网服务器上将资产包缓存到本地并上传到内网服务器,进入已联网的Linux服务器上进行以下操作:
- 进入steedos文件夹,修改
docker-compose.yml
文件,添加环境变量缓存unpkg到本地:
environment:
- NPM_CACHE_ENABLED=true
- NPM_CACHE_PACKAGE_INFO=true
- NPM_CACHE_PACKAGE_CONTENT=true
- NPM_REGISTRY_URL=https://registry.npmmirror.com
- 启动steedos服务
docker compose up -d
- 将当前路径下的缓存的unpkg资产包打包成
unpkg.tar.gz
,上传到内网服务器steedos/storage
文件夹中
cd steedos/storage
tar -czf unpkg.tar.gz unpkg
- 进入内网服务器
steedos/storage
文件夹下,解压unpkg.tar.gz
cd steedos/storage
tar -xzvf unpkg.tar.gz
- 进入内网服务器
steedos
文件夹中,重启steedos服务
cd steedos
docker compose down
docker compose up -d