离线安装1Panel的一个示例(1Panel-offline-installation-example)

前言

Debian11 AMD64系统上离线安装1Panel面板示例。

一、前期准备

  • 需要一台可联网机器预备所需文件。

1.1 下载所需文件

注意:假如因为网络问题无法下载,请自行寻找解决方案,比如github链接使用ghproxy之类的。

离线安装需要预先安装dockerdocker-compose

下载dockerdocker-compose

下载iptablescontainerd.io

下载1Panel程序包

额外,下载ufw

下载安装iptables所需

简化成命令行则是:

# 创建一个名为1p-offline-install的目录,如果目录不存在则创建它,-p选项可创建多级目录
mkdir -p 1p-offline-install

# 从Docker官方仓库下载Docker-ce软件包并保存到1p-offline-install目录下
# -O选项表示将下载的文件输出到指定文件
wget -O 1p-offline-install/docker-ce.deb https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce_23.0.4-1~debian.11~bullseye_amd64.deb

# 从Docker官方仓库下载Docker-ce-cli软件包并保存到1p-offline-install目录下
wget -O 1p-offline-install/docker-ce-cli.deb https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce-cli_23.0.4-1~debian.11~bullseye_amd64.deb

# 从Docker Compose的Github仓库下载Docker Compose并保存到1p-offline-install目录下
wget -O 1p-offline-install/docker-compose https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64

# 从Docker官方下载containerd.io依赖包并保存到指定目录
wget -O 1p-offline-install/containerd.io.deb https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/containerd.io_1.6.20-1_amd64.deb

# 从Debian仓库下载iptables依赖包并保存到指定目录
wget -O 1p-offline-install/iptables.deb http://ftp.cn.debian.org/debian/pool/main/i/iptables/iptables_1.8.7-1_amd64.deb

# 从Fit2Cloud仓库下载1Panel软件包并保存到1p-offline-install目录下
wget -O 1p-offline-install/1panel-v1.1.3-linux-amd64.tar.gz https://resource.fit2cloud.com/1panel/package/stable/v1.1.3/release/1panel-v1.1.3-linux-amd64.tar.gz

# 从Debian仓库下载UFW软件包并保存到1p-offline-install目录下
wget -O 1p-offline-install/ufw.deb http://ftp.cn.debian.org/debian/pool/main/u/ufw/ufw_0.36.1-4.1_all.deb

# 使用 wget 下载iptables安装所需文件并保存到1p-offline-install目录下
wget -O 1p-offline-install/libip4tc2.deb http://ftp.cn.debian.org/debian/pool/main/i/iptables/libip4tc2_1.8.7-1_amd64.deb
wget -O 1p-offline-install/libip6tc2.deb http://ftp.cn.debian.org/debian/pool/main/i/iptables/libip6tc2_1.8.7-1_amd64.deb
wget -O 1p-offline-install/libc6.deb http://ftp.cn.debian.org/debian/pool/main/g/glibc/libc6_2.31-13+deb11u5_amd64.deb
wget -O 1p-offline-install/libxtables12.deb http://ftp.cn.debian.org/debian/pool/main/i/iptables/libxtables12_1.8.7-1_amd64.deb
wget -O 1p-offline-install/libnetfilter-conntrack3.deb http://ftp.cn.debian.org/debian/pool/main/libn/libnetfilter-conntrack/libnetfilter-conntrack3_1.0.9-3_amd64.deb
wget -O 1p-offline-install/libnfnetlink0.deb http://ftp.cn.debian.org/debian/pool/main/libn/libnfnetlink/libnfnetlink0_1.0.2-2_amd64.deb

二、开始安装

2.1 拷贝文件到离线机器

通过scpsftp、存储设备拷贝等方式将所需的文件放到需要离线安装1Panel的机器上。

2.2 正式安装

本地无网络机器上文件准备就绪,假如所需文件放在/root/1p-offline-install下。

然后开始正式安装。

# 切换到/root/1p-offline-install目录下
cd /root/1p-offline-install

# 安装Docker-ce-cli软件包
dpkg -i docker-ce-cli.deb

# 安装containerd.io依赖包
dpkg -i containerd.io.deb

# 安装iptables所需依赖
dpkg -i libc6.deb libxtables12.deb libip4tc2.deb libip6tc2.deb libnetfilter-conntrack3.deb libnfnetlink0.deb 

# 安装iptables依赖包
dpkg -i iptables.deb

# 安装Docker-ce软件包
dpkg -i docker-ce.deb

# 将docker-compose复制到/usr/local/bin目录下
cp docker-compose /usr/local/bin/docker-compose

# 为docker-compose添加执行权限
chmod +x /usr/local/bin/docker-compose

# 将docker-compose链接到/usr/bin目录中,以便于在任何地方都可以使用docker-compose命令
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 检查docker-compose版本,确保安装成功
docker-compose --version

# 安装UFW软件包
dpkg -i ufw.deb

# 解压1Panel软件包
tar -zxvf 1panel-v1.1.3-linux-amd64.tar.gz

# 进入1Panel软件包目录
cd 1panel-v1.1.3-linux-amd64

# 为install.sh添加执行权限
chmod a+x install.sh

# 执行install.sh脚本进行1Panel安装
./install.sh

然后根据安装提示,输入自定义端口安装即可。

至于商店应用,可以将一台可以联网的已安装1Panel主机上的/opt/1panel/resource/apps目录下的所有文件复制到该无网络机器相同文件夹。

或者下载https://github.com/1Panel-dev/appstore仓库下的应用配置,然后复制到该无网络机器/opt/1panel/resource/apps目录下

但是需要注意docker仓库镜像的离线库问题。

# 清理残留文件
cd ~
rm -r /root/1p-offline-install

结束

感谢ChatGPT参与创作。

这个整挺好,没有互联网的情况下可以使用这种方法进行安装,把安装脚本研究明白了吧

可以参考此项目,自己构建或者直接使用