docker-compose 安装 alist

0.环境说明:

①Debian12

②RAM 8G HHD 80G

③ROOT 权限

1.建立DockerCompose 文件

mdkir -p /usr/docker/alist
cd /usr/docker/alist
vi docker-compse.yml

写入如下内容:

version: '3.8'
 services:
   alist:
     image: xhofe/alist:latest
     container_name: alist
     restart: unless-stopped
     volumes:
       - /etc/alist/data:/opt/alist/data  # 持久化存储
       - ./config:/opt/alist/config       # 自定义配置(可选)
     ports:
       - "5244:5244"                      # 主服务端口
       - "5245:5245"                      # 管理API端口(按需开放)
     environment:
       - PUID=0                           # 用户ID(默认0为root)
       - PGID=0                           # 用户组ID
       - UMASK=022                        # 文件权限掩码
       - TZ=Asia/Shanghai                 # 时区设置
     logging:
       driver: "json-file"
       options:
         max-size: "100m"
         max-file: "3"

接下来启动容器

docker-compose up -d 

2.alist配置

获取随机管理员密码

docker exec -it alist ./alist admin random

访问 alist

1
alist
 默认运行在容器的 5244 端口。你可以通过以下 URL 访问它:


1
http://localhost:5244/

或者如果你映射了不同的端口,使用相应的端口号。

3.映射

映射webdav到本地

mkdir -p /mnt/back
apt install davfs
mount -t davfs http://192.168.1.1:5244/dav/mnt/back /mnt/back -o uid=1000,gid=1000

Docker Compose 安装 nextcloud 并支持SMB持久化

0.环境说明:

①Debian12

②RAM 8G HHD 80G

③ROOT 权限

④SMB空间20T

1.创建Docker File文件,持久化镜像:

mkdir -p /usr/docker/nextcloud # 创建nextcloud构建目录
cd /usr/docker/nextcloud 
vi Dockerfile 

将下面内容写入 Dockerfile文件

FROM nextcloud:latest  #切换到 root 用户以安装软件包
USER root  #安装 SMB 客户端和必要的依赖库
RUN apt-get update && apt-get install -y \
     smbclient \
     libsmbclient-dev \
     && rm -rf /var/lib/apt/lists/*
 #(可选)切换回 Nextcloud 默认的用户(通常是 www-data)
 USER www-data

构建nextcloud镜像

docker build --network=host -t my-nextcloud .  #其中'my-nextcloud'就是你构建的私有化镜像名称
即构建完成

2.建立DockerCompose 文件

cd /usr/docker/nextcloud 
vi docker-compse.yml

写入以下内容:

version: '3'

services:
  nextcloud-db:
    image: mariadb:10.5
    container_name: nextcloud-db
    ports:
      - "3306:3306" 
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: MYSQL_ROOT_PASSWORD# 请修改为强密码
      MYSQL_PASSWORD: MYSQL_PASSWORD         # 请修改为强密码
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
    volumes:
      - ./mysql:/var/lib/mysql

  nextcloud-app:
    image: my-nextcloud
    container_name: nextcloud-app
    restart: unless-stopped
    ports:
      - "80:80"  
    depends_on:
      - nextcloud-db
    environment:
      - NEXTCLOUD_ADMIN_USER=admin           # 初始化管理员用户名
      - NEXTCLOUD_ADMIN_PASSWORD=yourpass         # 初始化管理员密码,请修改
      - MYSQL_HOST=nextcloud-db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=MYSQL_PASSWORD   # 与数据库服务的MYSQL_PASSWORD一致
    volumes:
      - ./nextcloud:/var/www/html  # Nextcloud数据和文件

接下来启动容器

docker-compose up -d 

3.nextcloud配置

访问:你的IP地址进入nextcloud

点击自己的头像,进入应用

启动 external stroge 应用

此时在侧边栏看到外部存储,输入SMB信息后即可成功挂载

4.问题:

①若遇到网络访问问题
"ERROR: failed to solve: DeadlineExceeded: nextcloud:latest: failed to resolve source metadata for docker.io/library/nextcloud:latest: failed to do request: Head "https://registry-1.docker.io/v2/library/nextcloud/manifests/latest": dial tcp [2a03:2880:f111:83:face:b00c:0:25de]:443: i/o timeout"

则修改Docker默认配置文件:

vi /etc/docker/daemon.json

键入以下内容:

{

    "registry-mirrors": [
        "https://xxx.mirror.aliyuncs.com",#可以去阿里云开放平台申请,这里不赘述
        "https://docker.m.daocloud.io",
        "https://mirror.baidubce.com",
        "https://dockerproxy.com",
        "https://mirror.iscas.ac.cn",
        "https://huecker.io",
        "https://dockerhub.timeweb.cloud",
        "https://noohub.ru"
    ],
    "data-root": "/usr/data/docker",
    "log-driver": "json-file",
    "log-opts": { 
        "max-size": "10m",
        "max-file": "3"
    }
}

然后重启docker即可执行成功

systemctl restart docker

Docker Compose 安装 RUSTDESK 服务端

0.环境说明:

①Debian12

②RAM 4G HHD 80G

③ROOT 权限

1.创建YAML文件:

#创建文件夹 
mkdir -p /usr/dockercompose/rustdesk/ 
#定位并创建文件 
cd /usr/dockercompose/rustdesk/ 
mkdir data 
nano docker-compose.yml

2.修改配置文件内容:

services:
    hbbs:
      container_name: hbbs
      image: rustdesk/rustdesk-server:1.1.14
      environment:
        - ALWAYS_USE_RELAY=Y
      command: hbbs
      volumes:
        - ./data:/root
      network_mode: "host"
      depends_on:   
         - hbbr 
      restart: unless-stopped
 hbbr:
      container_name: hbbr
      image: rustdesk/rustdesk-server:1.1.14
      command: hbbr
      volumes:
        - ./data:/root
      network_mode: "host"
      restart: unless-stopped

说明:

1.1.14 为当前最新版本,此处最好配置为固定版本

如果使用last版本号可能由于阿里云镜像加速产生问题

使用“host”网络模式后默认自动使用以下端口(需要提前在防火墙打开):

hbbs 服务使用的端口:
-21115:TCP,用于设备注册
-21116:TCP,用于 NAT 类型测试
-21118:TCP,用于ID 注册服务器的 web 服务
hbbr 服务使用的端口:
-21117:TCP,用于中继服务器
-21119:TCP,用于中继服务器的 web 服务

连接密钥存储在: /usr/dockercompose/rustdesk/data/id_ed25519.pub 下

本地防火墙配置可参考:

阿里云防火墙在安全组配置。

3.运行

 #启动服务
 docker-compose up -d
 #重启服务
 docker-compose restart
 #查看服务状态
 docker-compose ps
 #查看服务日志
 docker-compose logs -f

4.客户端配置

GITHUB下载地址 https://githubQcom/rustdesk/rustdesk/releases

PVE添加lvm-thin-pool创建lvm-thin存储

0.环境说明:

①操作系统:PVE 8.1.3

②硬件配置:空闲磁盘数量大于1

③PVE存储格式说明(引用佛西博客):https://foxi.buduanwang.vip/linux/2044.html/

1.创建LVM-THIN-POOL:

lsblk #列出所有可用块设备
pvcreate /dev/sda  #创建物理卷 
vgcreate thin-pool /dev/sda #创建逻辑卷组 thin-pool 
#若要将多个物理卷加入卷组,则后跟多个物理卷  vgcreate thin-pool /dev/sda /dev/sdb
lvcreate -T thin-pool/data -l +100%FREE #创建逻辑卷,分配卷组空间给逻辑卷

2.在PVE添加LVM-THIN存储:

注意填写存储ID和节点名称

ChatGPT无法访问的解决方法

0.说明

适用于V2ray等工具、软路由

本文只讲方法,不讲原理,原理都可以搜到,不再赘述

1.线路问题

首先在服务端检查能否访问chatgpt

bash <(curl -L -s check.unlock.media)

可以运行如上开源脚本,看到Chatgpt YES ,则确定服务端支持

线路问题则 尝试更换线路,避免使用香港、日本等亚洲节点。

2.浏览器配置问题

关闭 WebRTC  和 QUIC.

这里以 chrome浏览器为例:
访问chrome://flags/

将:

Experimental QUIC protocol

Anonymize local IPs exposed by WebRTC.

两个选项置为disabled

relunch

清除浏览器缓存

3.禁用IPV6(WIN)

(此方法用于PING chatgpt.com 显示地址为IPV6的情况)

在WIN网络适配器中,找到当前链接的IPV6,取消勾选即可

迷你主机安装PVE8.1,开启网络唤醒

0.环境说明:

①操作系统:空,PVE官网下载(直达链接

②硬件配置:AMD 5800H + DDR4 2666 16G *2 + 1T NVME PCIE3.0

③写入工具:rufus 4.4.2013

1.U盘写入:

选择镜像后点击开始,此版本刷PVE会强制使用DD模式,完成后拔出U盘插入主机

2.启动安装:

选择 Install Proxmox (Graphical)

先会在黑屏阶段运行一段时间

后续配置语言、安装位置、网络IP信息等后结束重启

3.开启网络唤醒:

网络唤醒的可以在进入主板时按Del键,将NetStack 置为 Enable

进入系统,输入下面的命令查看ethtool的位置

whereis ethtool 

我这里的位置是/usr/sbin/ethtool

修改/etc/rc.local

/etc/rc.local

为如下内容:

#!/bin/bash
/usr/sbin/ethtool -s enp1s0 wol g
exit 0

其中 /usr/sbin/ethtool 为ethtool地址 , enp1s0 为网卡名称

保存后退出,重启系统

reboot

进入系统后,查看网卡状态

ethtool enp1s0

其中Wake-on: g ,则为开启成功

4.去除订阅提醒:

先删除企业源

rm /etc/apt/sources.list.d/pve-enterprise.list
rm /etc/apt/sources.list.d/ceph.list

安装pvetools

apt dist-upgrade -y 
apt-get update
export LC_ALL=en_US.UTF-8 apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git

打开pvetools

cd pvetools/ && ./pvetools.sh 

如图所示,硬件直通,换源,去除订阅都可以在此配置

PVE导入virtualbox镜像

0.环境说明:

①操作系统:PVE7.2-3

②ROOT 权限

③OVA文件

1.上传OVA镜像文件

从网上下载,或者从virtual box 下载到的ova文件

登陆SSH,把下载的ova文件上传PVE,如图test.ova

解压该ova文件

tar -xvf test.ova

2.PVE建立虚拟机

VIMID 为 123 (注意不要和之前的ID冲突即可),操作系统→不使用任何介质,磁盘保持默认即可,CPU、内存和网络根据实际情况进行选择。

3.分离和导入硬盘

在PVE面板选择刚刚创建的虚拟机(123),在硬件选项卡选择硬盘,然后点击分离,然后删除未使用的磁盘。

接下来导入解压后的磁盘。

qm importdisk 123 test-disk001.vmdk local-lvm -format qcow2

其中 123是节点号,test-disk001.vmdk 是 解压后的磁盘名 ,local-lvm 是pve的存储空间名称。

Centos 7 挂载本地iso镜像源(yum)挂载SMB文件夹

0.环境说明:

①操作系统:centos7.9.2009

②ROOT 权限

1.挂载镜像:

mkdir -p /data/iso   #建立镜像上载目录
mkdir -p /mnt/cdrom #建立镜像挂载目录

下载镜像源iso,并上传到上载目录

mount -o loop /data/iso/CentOS-7-x86_64-Everything-2009.iso data/yum/local #临时挂载
vi /etc/fstab #永久挂载,写入下行内容
/data/iso/CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom iso9660 defaults 0 0
vi /etc/yum.repos.d/local.repo  #创建镜像源文件,写入如下内容
#local.repo文件内容
[local]
name=local
baseurl=file:////mnt/cdrom #挂载路径
enabled=1 #启用该yum源
gpgcheck=0#本地挂载不涉及数字签名问题,将gpgcheck值设置为0,表示不检查数字签名
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7# 在挂载路径下查看

2.切换到本地源:

备份在线源文件

mkdir /etc/yum.repos.d/bak
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo –t bak

测试源是否可用

yum clean all
yum makecache

3.安装SMB服务:

yum install -y cifs-utils
 mkdir -p /data/smb 
mount -t cifs -o dir_mode=0755,file_mode=0755,username="username",password="your password" //smbip/share/ /data/smb

永久挂载方式,修改/etc/fstab文件

//smbip/share /data cifs defaults,username='username',password='your password'     0 0 

centos7.4 安装jenkins集成工具

0.环境说明:

①操作系统:centos7.4

②ROOT 权限

官网地址:https://www.jenkins.io/

1.安装Jenkins依赖:

更新

yum install -y ca-certificates   #更新证书,否则无法进行下一步
sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install java-17-openjdk #此处安装失败后则需要单独安装jdk 17
sudo yum install jenkins
sudo systemctl daemon-reload

安装openjdk-17

wget https://download.oracle.com/java/17/archive/jdk-17.0.8_linux-x64_bin.tar.gz 
tar -xvf jdk*.gz
mv jdk-17.0.8 /usr/java
ln -s /usr/java/bin/java /usr/bin/java
sudo yum reinstall jenkins

配置环境变量,在/etc/profile最后加入

export JAVA_HOME=/usr/java
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效:

source /etc/profile
java -version    #查看当前JDK版本

2.启动Jenkins:


1
sudo systemctl enable jenkins
#开机启动
1
sudo systemctl start jenkins
#启动jenkins
1
sudo systemctl status jenkins
#查看jenkins状态

初始化jenkins

cat /var/lib/jenkins/secrets/initialAdminPassword #访问时输入

访问方式

localhost:8080

更多:

防火墙配置参考:

jenkins 其它配置:

修改操作用户为root 修改 /etc/sysconfig/jenkins

JENKINS_USER="jenkins"  #jenkins修改为root

赋予目录权限

chown -R root /var/log/jenkins
chgrp -R root /var/log/jenkins
chown -R root /var/lib/jenkins
chgrp -R root /var/lib/jenkins
chown -R root /var/cache/jenkins
chgrp -R root /var/cache/jenkins

3.Jenkinsj节点配置问题:

在建立除master节点以外的其它节点,首先要保证两端的JAVA版本一致

遇到问题:“lib/jenkins/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/lib/jenkins/.ssh/known_hosts.”

在节点管理页面修改认证机制:

Docker 安装penpot原型图设计工具

0.环境说明:

①操作系统:truenas

②ROOT 权限

③vDocker version 20.10.12, build e91ed57

Penpot是一款类似于Figma的原型图设计工具,是一款免费开源的软件,并支持本地化部署

官方指导手册

1.安装docker-compose:

su -
wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose
mv docker-compose /bin
chmod +x docker-compose
docker-compose --version #显示docker版本

2.配置yaml文件:


1
<strong>wget</strong> https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
vi
1
docker-compose.yaml

根据需要修改yaml文件:

 - PENPOT_PUBLIC_URI= #填入外部访问的域名地址

修改前端访问端口:

  penpot-frontend:
    image: "penpotapp/frontend:latest"
    restart: always
    ports:
      - 8000:80 #修改8000为你想要的端口

    volumes:
      - penpot_assets:/opt/data/assets

    depends_on:
      - penpot-backend
      - penpot-exporter

    networks:
      - penpot

    labels:
      - "traefik.enable=true"

修改postgres端口:

  penpot-postgres: 
    image: "postgres:15" 
    restart: always 
    stop_signal: SIGINT 
    ports: 
      - 8000:5432  #修改8000为宿主机可用端口
    volumes: 
      - penpot_postgres_v15:/var/lib/postgresql/data

修改注册信息:

- PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification enable-smtp enable-prepl-server

修改注册邮箱:

      - PENPOT_SMTP_DEFAULT_FROM=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_DEFAULT_REPLY_TO=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_HOST= mail.wolfmark.org #邮箱服务器地址
      - PENPOT_SMTP_PORT=  #此处填写smtp端口
      - PENPOT_SMTP_USERNAME=service@wolfmark.org #你的邮箱
      - PENPOT_SMTP_PASSWORD= #smtp验证
      - PENPOT_SMTP_TLS=false 
      - PENPOT_SMTP_SSL=false

3.拉取镜像:

docker-compose -p penpot -f docker-compose.yaml up -d #启动
拉取完成

最后访问前端页面,安装完成

docker-compose -p penpot -f docker-compose.yaml down #关闭 docker镜像