This commit is contained in:
eddy
2025-11-06 20:17:23 +08:00
commit 2bd07f0e2a
24 changed files with 4651 additions and 0 deletions

50
install/01-Nginx.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
# chmod +x 01-Nginx.sh && ./01-Nginx.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/01-Nginx.sh && chmod +x 01-Nginx.sh && ./01-Nginx.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=80
port443=443
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建 Nginx 安装目录
mkdir -p /root/data/docker_data/Nginx
cd /root/data/docker_data/Nginx
# 3、配置X-UI的docker-compose
cat <<EOF > docker-compose.yml
version: '3.8'
services:
nginx:
image: nginx
container_name: nginx
restart: always
ports:
- $port80:80
- $port443:443
volumes:
- ./conf.d:/etc/nginx/conf.d
- ./certs:/etc/nginx/certs
- ./html:/var/www/html
- ./log/nginx:/var/log/nginx
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "http://$ipv4_address:$port443"
echo "------------------------"

51
install/02-NginxProxy.sh Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
# chmod +x 02-NginxProxy.sh && ./02-NginxProxy.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/02-NginxProxy.sh && chmod +x 02-NginxProxy.sh && ./02-NginxProxy.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port=8020
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建 Nginx Proxy 安装目录
mkdir -p /root/data/docker_data/NginxProxy
cd /root/data/docker_data/NginxProxy
# 3、配置Nginx Proxy的docker-compose
cat <<EOF > docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginxproxy
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '$port:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow 80
ufw allow 443
ufw allow $port
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port"
echo "Email: admin@example.com"
echo "Password: changeme"
echo "------------------------"

50
install/03-X-UI.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
# chmod +x 03-X-UI.sh && ./03-X-UI.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/03-X-UI.sh && chmod +x 03-X-UI.sh && ./03-X-UI.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=54321
port443=8030
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建X-UI安装目录
mkdir -p /root/data/docker_data/X-UI
cd /root/data/docker_data/X-UI
# 3、配置X-UI的docker-compose
cat <<EOF > docker-compose.yml
version: "3"
services:
x-ui:
image: enwaiax/x-ui:alpha-zh
container_name: x-ui
restart: unless-stopped
volumes:
- ./db/:/etc/x-ui/
- ./cert/:/root/cert/
network_mode: host
stdin_open: true
tty: true
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "Email: admin"
echo "Password: admin"
echo "注意面板URL根路径: /nSAsXv/"
echo "------------------------"

75
install/04-FRP.sh Normal file
View File

@@ -0,0 +1,75 @@
#!/bin/bash
# chmod +x 04-FRP.sh && ./04-FRP.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/04-FRP.sh && chmod +x 04-FRP.sh && ./04-FRP.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8040
port443=8041
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建Frps安装目录
mkdir -p /root/data/docker_data/Frps
cd /root/data/docker_data/Frps
# 3、配置Frps的docker-compose
cat <<EOF > docker-compose.yml
version: '3.3'
services:
frps:
image: snowdreamtech/frps
container_name: frps
restart: always
network_mode: host
volumes:
- './frps.toml:/etc/frp/frps.toml'
EOF
# 4、创建frps.toml文件并设置配置
cd /root/data/docker_data/Frps
touch frps.toml
# 5、配置 frps.toml
cat <<EOF > frps.toml
[common]
# frp 监听端口,与客户端绑定端口
bind_port=$port443
kcp_bind_port=$port443
# dashboard用户名
dashboard_user=admin@gmail.com
# dashboard密码
dashboard_pwd=gmail.com
# dashboard端口启动成功后可通过浏览器访问如http://ip:9527
dashboard_port=$port80
# 设置客户端token对应客户端有页需要配置一定要记住如果客户端不填写你连不上服务端
token=PAioH8syP!82T%
EOF
# 6、安装
docker-compose up -d
# 7、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "Email: admin@gmail.com"
echo "Password: gmail.com"
echo "------------------------"

69
install/05-ZeroTier.sh Normal file
View File

@@ -0,0 +1,69 @@
#!/bin/bash
# chmod +x 05-Zerotier.sh && ./05-Zerotier.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/05-Zerotier.sh && chmod +x 05-Zerotier.sh && ./05-Zerotier.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8050
port443=8051
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建Zerotier安装目录
mkdir -p /root/data/docker_data/Zerotier
cd /root/data/docker_data/Zerotier
# 3、配置Zerotier的docker-compose
cat <<EOF > docker-compose.yml
version: '3.3'
services:
ztncui:
image: keynetworks/ztncui
container_name: ztncui
restart: always
ports:
- $port80:4000
environment:
- HTTP_PORT=4000
- HTTP_ALL_INTERFACES=yes
- ZTNCUI_PASSWD=mrdoc.fun
zerotier-moon:
image: jonnyan404/zerotier-moon
container_name: zerotier-moon
restart: always
ports:
- $port443:9993
- $port443:9993/udp
command: -4 192.168.1.1 # 改成服务器的IP
volumes:
- ./etc/ztconf/:/var/lib/zerotier-one
EOF
# 6、安装
docker-compose up -d
# 7、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "user: admin"
echo "Password: mrdoc.fun"
echo "------------------------"
echo "查看moon ID:"
echo "docker logs zerotier-moon"
echo "------------------------"
echo "Windows 客户端加入moon服务器:"
echo "cd C:\ProgramData\ZeroTier\One:"
echo "zerotier-cli orbit [moon_id] [moon_id]:"
echo "------------------------"

76
install/06-Rustdesk.sh Normal file
View File

@@ -0,0 +1,76 @@
#!/bin/bash
# chmod +x 06-Rustdesk.sh && ./06-Rustdesk.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/06-Rustdesk.sh && chmod +x 06-Rustdesk.sh && ./06-Rustdesk.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8061
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建 `Rustdesk` 安装目录
mkdir -p /root/data/docker_data/Rustdesk
cd /root/data/docker_data/Rustdesk
# 3、配置Duplicati的docker-compose
cat <<EOF > docker-compose.yml
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 8060:21115
- $port80:21116
- $port80:21116/udp
- 8063:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk2.ghuang.top:8062 # hbbs.example.com改成
volumes:
- ./hbbs:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 8062:21117
- 8064:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
EOF
# 6、安装
docker-compose up -d
# 7、打开防火墙的端口
ufw allow 8060
ufw allow 8061
ufw allow 8062
ufw allow 8063
ufw allow 8064
ufw allow 8061/udp
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "------------------------"

51
install/07-Alist.sh Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
# chmod +x 07-Alist.sh && ./07-Alist.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/07-Alist.sh && chmod +x 07-Alist.sh && ./07-Alist.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8070
port443=8071
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建Zerotier安装目录
mkdir -p /root/data/docker_data/AList
cd /root/data/docker_data/AList
# 3、配置Duplicati的docker-compose
cat <<EOF > docker-compose.yml
version: '3.3'
services:
alist:
restart: always
volumes:
- ./data:/opt/alist/data
ports:
- $port80:5244
environment:
- PUID=0
- PGID=0
- UMASK=022
container_name: alist
image: xhofe/alist:latest
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 6、打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "------------------------"

53
install/08-Duplicati.sh Normal file
View File

@@ -0,0 +1,53 @@
#!/bin/bash
# chmod +x 08-Duplicati.sh && ./08-Duplicati.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/08-Duplicati.sh && chmod +x 08-Duplicati.sh && ./08-Duplicati.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8080
port443=8081
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建Zerotier安装目录
mkdir -p /root/data/docker_data/Duplicati
cd /root/data/docker_data/Duplicati
# 3、配置Duplicati的docker-compose
cat <<EOF > docker-compose.yml
version: "2.1"
services:
duplicati:
image: lscr.io/linuxserver/duplicati
container_name: duplicati
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- /root/data/docker_data/Duplicati/config:/config
- /root/data/docker_data/Duplicati/backups:/backups
- /root/data:/source
ports:
- $port80:8200
restart: unless-stopped
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 6、打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "------------------------"

57
install/09-Syncthing.sh Normal file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
# chmod +x 09-Syncthing.sh && ./09-Syncthing.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/09-Syncthing.sh && chmod +x 09-Syncthing.sh && ./09-Syncthing.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8090
# 1、更新包
apt update -y && apt upgrade -y # 更新一下包
# 2、创建Zerotier安装目录
mkdir -p /root/data/docker_data/Syncthing
cd /root/data/docker_data/Syncthing
# 3、配置Duplicati的docker-compose
cat <<EOF > docker-compose.yml
version: "3.5"
services:
syncthing:
image: lscr.io/linuxserver/syncthing
container_name: syncthing
hostname: syncthing #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- ./Documents:/Documents
- ./Media:/Media
- ./Nextcloud:/Nextcloud
ports:
- 8090:8384
- 8091:22000/tcp
- 8091:22000/udp
- 8092:21027/udp
restart: unless-stopped
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow 8090
ufw allow 8091
ufw allow 8092
ufw status
# 6、打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "------------------------"

59
install/10-Vaultwarden.sh Normal file
View File

@@ -0,0 +1,59 @@
#!/bin/bash
# chmod +x 10-Vaultwarden.sh && ./10-Vaultwarden.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/10-Vaultwarden.sh && chmod +x 10-Vaultwarden.sh && ./10-Vaultwarden.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8100
port443=8101
# 1、更新包
apt update -y && apt upgrade -y
# 2、创建Vaultwarden安装目录
mkdir -p /root/data/docker_data/Vaultwarden
cd /root/data/docker_data/Vaultwarden
# 3、配置Vaultwarden的docker-compose
cat <<EOF > docker-compose.yml
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
volumes:
- ./data/:/data/
ports:
- $port80:80
environment:
- DOMAIN=https://vaultwarden.ghuang.top # 这是您希望与您的Vaultwarden实例关联的域名。
- LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。
- LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数在Vaultwarden限制登录次数之前。
- ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同只争对admin面板。
- ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同
- ADMIN_SESSION_LIFETIME=20 # 会话持续时间
- ADMIN_TOKEN=FX6wU1n3i1huwVE9zo9zb6hGiX5fS5URTPhSWGK0pBu1weww0Kr0qcv6GbULX7az # 此值是Vaultwarden管理员面板的令牌一种密码。为了安全起见这应该是一个长的随机字符串。如果未设置此值则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全
- SENDS_ALLOWED=true # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
- EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如这样做可以在用户去世后配偶可以访问密码库以获取账户凭证。可能的值true / false。
- WEB_VAULT_ENABLED=true # 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端停止您的容器然后将此值切换为false并重启Vaultwarden可以用来防止未授权访问。可能的值true/false。
- SIGNUPS_ALLOWED=true # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值true / false。
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port443
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "注意事项:"
echo "1、需要先创建账号才能使用"
echo "2、需要将 IP:prot 反向代理成域名才能创建账户"
echo "------------------------"

52
install/11-EasyImage.sh Normal file
View File

@@ -0,0 +1,52 @@
#!/bin/bash
# chmod +x 11-EasyImage.sh && ./11-EasyImage.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/11-EasyImage.sh && chmod +x 11-EasyImage.sh && ./11-EasyImage.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8110
port443=8111
# 1、更新包
apt update -y && apt upgrade -y
# 2、创建EasyImage安装目录
mkdir -p /root/data/docker_data/EasyImage
cd /root/data/docker_data/EasyImage
# 3、配置EasyImage的docker-compose
cat <<EOF > docker-compose.yml
version: '3.3'
services:
easyimage:
image: ddsderek/easyimage:latest
container_name: easyimage
restart: unless-stopped
ports:
- $port80:80
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
volumes:
- './config:/app/web/config'
- './i:/app/web/i'
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port433
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "账号: admin"
echo "密码: admin@123"
echo "------------------------"

85
install/12-Wordpress.sh Normal file
View File

@@ -0,0 +1,85 @@
#!/bin/bash
# chmod +x 12-Wordpress.sh && ./12-Wordpress.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/12-Wordpress.sh && chmod +x 12-Wordpress.sh && ./12-Wordpress.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8120
port443=8121
# 1、更新包
apt update -y && apt upgrade -y #更新一下包
# 2、创建Wordpress安装目录
mkdir -p /root/data/docker_data/Wordpress
cd /root/data/docker_data/Wordpress
# 3、配置Wordpress的docker-compose
cat <<EOF > docker-compose.yml
version: '3.0'
services:
db:
image: mysql:5.7 # arm架构的机器请将mysql:5.7改为mysql:oracle
container_name: wordpress-db
restart: unless-stopped
# command: --max-binlog-size=200M --expire-logs-days=2 # 使用mysql 8.0的小伙伴建议使用
environment:
MYSQL_ROOT_PASSWORD: password # 按需修改
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password # 按需修改
volumes:
- './db:/var/lib/mysql'
networks:
- default
app:
image: wordpress:latest
container_name: wordpress-app
restart: unless-stopped
ports:
- $port80:80 # 按需修改。与防火墙开放端口一致。
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: password # 按需修改
WORDPRESS_LANG: zh_CN # 指定中文语言
volumes:
- './app:/var/www/html'
links:
- db:db
depends_on:
- redis
- db
networks:
- default
redis:
image: redis:alpine
container_name: wordpress-redis
restart: unless-stopped
volumes:
- ./redis-data:/data
networks:
- default
#networks:
# default:
# name: wordpress
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port433
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "Email: admin@gmail.com"
echo "------------------------"

68
install/13-Nextcloud.sh Normal file
View File

@@ -0,0 +1,68 @@
#!/bin/bash
# chmod +x 13-Nextcloud.sh && ./13-Nextcloud.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/13-Nextcloud.sh && chmod +x 13-Nextcloud.sh && ./13-Nextcloud.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8130
port443=8131
# 1、更新包
apt update -y && apt upgrade -y #更新一下包
# 创建安装目录
mkdir -p /root/data/docker_data/Nextcloud
cd /root/data/docker_data/Nextcloud
# 3、填写docker-compose配置
cat <<EOF > docker-compose.yml
version: "3"
services:
nextcloud:
container_name: nextcloud-app
image: nextcloud:latest
restart: unless-stopped
ports:
- $port80:80
environment:
- MYSQL_HOST=mysql
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
volumes:
- ./data:/var/www/html
mysql:
image: mysql:8.0
container_name: nextcloud-db
restart: unless-stopped
environment:
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_ROOT_PASSWORD=nextcloud
volumes:
- ./db:/var/lib/mysql
#volumes:
# mysql:
# nextcloud:
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port433
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "http://$ipv4_address:$port80"
echo "Email: admin@gmail.com"
echo "Password: gmail.com"
echo "------------------------"

67
install/14-Joplin.sh Normal file
View File

@@ -0,0 +1,67 @@
#!/bin/bash
# chmod +x 14-Joplin.sh && ./14-Joplin.sh
# curl -sS -O https://raw.githubusercontent.com/ghuang-top/vps/main/install/14-Joplin.sh && chmod +x 14-Joplin.sh && ./14-Joplin.sh
ipv4_address=$(curl -s ipv4.ip.sb)
port80=8140
port443=8141
# 1、更新包
apt update -y && apt upgrade -y #更新一下包
# 2、创建安装目录
mkdir -p /root/data/docker_data/Joplin
cd /root/data/docker_data/Joplin
# 3、填写docker-compose配置
cat <<EOF > docker-compose.yml
version: '3'
services:
db:
image: postgres:13
container_name: joplin-db
restart: unless-stopped
ports:
- "$port433:5432" # 左边的端口可以更换,右边不要动!
volumes:
- ./data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=changeme # 改成你自己的密码
- POSTGRES_USER=username # 改成你自己的用户名
- POSTGRES_DB=joplin
app:
image: joplin/server:latest
container_name: joplin-app
restart: unless-stopped
ports:
- "$port80:22300" # 左边的端口可以更换,右边不要动!
depends_on:
- db
environment:
- APP_PORT=22300
- APP_BASE_URL=https://joplin.ghuang.top # 改成反代的域名
- DB_CLIENT=pg
- POSTGRES_PASSWORD=changeme # 与上面的密码对应!
- POSTGRES_USER=username # 与上面的用户名对应!
- POSTGRES_DATABASE=joplin
- POSTGRES_PORT=5432 # 与上面右边的对应!
- POSTGRES_HOST=db
EOF
# 4、安装
docker-compose up -d
# 5、打开防火墙的端口
ufw allow $port80
ufw allow $port433
ufw status
# 打印访问链接
echo "------------------------"
echo "访问链接:"
echo "https://joplin.ghuang.top"
echo "User: admin@localhost"
echo "Password: admin"
echo "------------------------"