Proxmox上配置Ubuntu和Debian LXC容器

在 Proxmox 上配置 Ubuntu 和 Debian LXC 容器

  1. 基础系统工具
    安装常用的系统管理工具:
1
2
apt update && apt upgrade -y
apt install -y wget curl vim nano sudo locales bash-completion software-properties-common net-tools iputils-ping htop

工具说明:

  • wget 和 curl:下载文件和与 API 交互。
  • vim 和 nano:文本编辑器。
  • sudo:配置权限管理(LXC 容器需要手动设置)。
  • locales:设置语言环境(如 en_US.UTF-8)。
  • bash-completion:提供命令行自动补全功能。
  • net-tools 和 iputils-ping:调试网络。
  • htop:系统资源监控工具。

  1. 配置语言环境
    安装并生成语言环境:
1
2
3
apt install -y locales
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8

重启容器以生效:

1
2
exit
pct restart <LXC_ID>

  1. 网络工具
    安装网络调试和管理工具:
1
apt install -y traceroute dnsutils ifupdown iproute2

工具说明:

  • traceroute:跟踪网络路径。
  • dnsutils:包含 nslookup 等工具,用于 DNS 调试。
  • ifupdown:传统网络管理工具(如需手动配置 /etc/network/interfaces)。

  1. 开发工具
    安装基本的开发工具:
1
apt install -y git build-essential python3 python3-pip

工具说明:

  • git:代码版本控制工具。
  • build-essential:包含 GCC 和 Make 等编译工具链。
  • python3 和 python3-pip:Python 开发和包管理工具。

  1. 远程访问工具
    安装并启动 SSH 服务:
1
2
3
apt install -y openssh-server
systemctl enable ssh
systemctl start ssh

  1. Docker 支持(可选)

6.1 安装 Docker

1
2
3
apt install -y docker.io
systemctl enable docker
systemctl start docker

6.2 配置 LXC 容器支持 Docker

确保 LXC 容器为特权模式,修改容器配置文件:

1
nano /etc/pve/lxc/<LXC_ID>.conf

添加以下内容:

1
2
3
4
5
lxc.apparmor.profile: unconfined
lxc.cap.drop:
lxc.cgroup.devices.allow: a
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw

  1. 数据库支持(可选)
    根据需求安装数据库:
  • MySQL/MariaDB:
    1
    apt install -y mariadb-server
  • PostgreSQL:
    1
    apt install -y postgresql postgresql-contrib
  • SQLite(轻量级):
    1
    apt install -y sqlite3

  1. 轻量级 Web 服务(可选)
    安装轻量级 Web 服务:
  • Nginx:
    1
    apt install -y nginx
  • Apache2:
    1
    apt install -y apache2

  1. 文件管理工具
    安装文件共享和传输工具:
  • Rsync(高效文件同步):
    1
    apt install -y rsync
  • Samba(文件共享服务):
    1
    apt install -y samba

  1. 调试工具(可选)
    如果容器用于调试或测试环境,可以安装以下工具:
1
apt install -y strace tcpdump lsof iperf3

工具说明:

  • strace:跟踪系统调用。
  • tcpdump:分析网络流量。
  • lsof:查看打开的文件。
  • iperf3:测试网络带宽。

  1. 清理无用文件
    完成安装后,清理系统缓存以释放空间:
1
2
apt autoremove -y
apt clean

推荐工具总结

基础工具:

1
apt install -y wget curl vim nano sudo locales bash-completion

开发环境:

1
apt install -y git build-essential python3 python3-pip

网络调试:

1
apt install -y net-tools iputils-ping traceroute dnsutils ifupdown

远程访问:

1
apt install -y openssh-server

Docker 支持:

1
apt install -y docker.io

优化建议

  • 资源监控:使用 htop 或 iotop 监控容器的资源使用情况。
  • 日志管理:安装并配置日志管理工具:
    1
    apt install -y rsyslog logrotate

title: Docker搭建自己的专属订阅链接转换服务
date: 2025-01-07 10:00:00
updated: 2025-01-07 10:00:00
tags:

使用 Docker 搭建图床 Lsky Pro

1. 介绍

1.1 什么是 Lsky Pro?

Lsky Pro(中文名:兰空图床)是一款功能强大的在线图片上传和管理工具,可作为云上相册或写作贴图库。

  • 开发历程:始于 2017 年,由 ThinkPHP 5 开发;2022 年发布重写的 2.0 版本。
  • 特点
    • 支持多种云存储:AWS S3、阿里云 OSS、腾讯云 COS 等。
    • 支持多数据库:MySQL、PostgreSQL、SQLite、SQL Server。
    • 强大的图片管理功能:支持水印、重命名、拖拽上传等。
    • 角色组配置:支持不同角色的存储策略和上传频率限制。
    • 支持通过接口上传图片和管理相册。

2. 项目地址与资源


3. 搭建环境

3.1 必备条件

  1. 服务器:推荐使用非大陆服务器,如腾讯香港轻量应用服务器、Vultr、Hetzner 等。
  2. 系统:Debian 10(其他版本也可)。
  3. 域名:并已解析到服务器。
  4. 安装 Docker 和 Docker Compose

3.2 可选工具

  • 宝塔面板(海外版)或 Nginx Proxy Manager,用于配置反向代理和端口转发。

4. 使用 Docker 搭建 Lsky Pro

4.1 环境初始化

  1. 设置 SWAP(可选)
    wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && ./box.sh
    

选择 18,输入 SWAP 的大小。

  1. 安装常用软件:

sudo -i # 切换到 root 用户
apt update -y # 更新系统
apt install wget curl sudo vim git -y


4.2 创建工作目录

mkdir -p /root/data/docker_data/lsky-pro
cd /root/data/docker_data/lsky-pro
nano docker-compose.yml

在 docker-compose.yml 中填入以下内容:

version: ‘3’
services:
lsky-pro:
container_name: lsky-pro
image: dko0/lsky-pro
restart: always
volumes:
- /root/data/docker_data/lsky-pro/lsky-pro-data:/var/www/html
ports:
- 7791:80
environment:
- MYSQL_HOST=mysql
- MYSQL_DATABASE=lsky-pro
- MYSQL_USER=lsky-pro
- MYSQL_PASSWORD=lsky-pro

mysql:
    image: mysql:8.0
    container_name: lsky-pro-db
    restart: always
    environment:
        - MYSQL_DATABASE=lsky-pro
        - MYSQL_USER=lsky-pro
        - MYSQL_PASSWORD=lsky-pro
        - MYSQL_ROOT_PASSWORD=lsky-pro
    volumes:
        - /root/data/docker_data/lsky-pro/db:/var/lib/mysql

保存并退出(Ctrl+X -> Y -> Enter)。


4.3 检查端口并启动容器

  1. 检查端口是否被占用:

lsof -i:7791

如果出现 -bash: lsof: command not found,执行以下命令安装:

apt install lsof -y

  1. 启动容器:

docker-compose up -d

  1. 访问图床:

http://<服务器IP>:7791

如需查看服务器 IP,可运行以下命令:

curl ip.sb


  1. 更新与卸载

5.1 更新

  1. 备份数据:

cp -r /root/data/docker_data/lsky-pro/lsky-pro-data /root/data/docker_data/lsky-pro/lsky-pro-data.archive
cp -r /root/data/docker_data/lsky-pro/db /root/data/docker_data/lsky-pro/db.archive

  1. 更新镜像:

cd /root/data/docker_data/lsky-pro
docker-compose pull
docker-compose up -d


5.2 卸载

  1. 停止容器:

cd /root/data/docker_data/lsky-pro
docker-compose down

  1. 删除数据:

rm -rf /root/data/docker_data/lsky-pro


  1. 配置反向代理

如果使用 Nginx Proxy Manager 或 宝塔面板,可以配置反向代理将 7791 端口隐藏到域名下,具体步骤如下:

  1. 添加域名解析到服务器 IP。

  2. 在面板中创建反向代理,指向 http://127.0.0.1:7791。

  3. 配置 HTTPS 证书,保护数据安全。


至此,Lsky Pro 图床的安装和配置已经完成!如果遇到问题,欢迎在评论区交流!

这个版本的文档简洁明了,包含完整的步骤和详细说明,适合分享给需要搭建图床的用户。

【PVE LXC OpenWrt】最新 PVE8 LXC 安装 OpenWrt + OpenClash + Tun 旁路由

前言

OpenWrt 和 OpenClash 有许多魔改发行版本,既然选择 PVE 来构建 HomeLab 系统,我相信你有较强的折腾能力,建议所有镜像或包选择官方版本,因为:

  1. 魔改发行版兼容性较差,很多版本安装后会出现问题,且不了解插件机制时很难解决。
  2. 官方版本虽可能也有问题,但通过 Issue 或 Google 更容易找到答案。

本文除了手把手安装,还解决以下问题:

  1. LXC 容器中 OpenWrt 无法联网。
  2. Tun 模式的启用问题。

版本信息

  • CPU: i7 9700k (x86_64)
  • PVE: 8.2.2
  • OpenWrt: 23.05.4 X86_64
  • OpenClash: 0.46.050-beta_all

网络架构图

此处可插入网络架构图。


1. 安装 OpenWrt

1.1 获取 OpenWrt 官方镜像

  1. 前往官方发布路径,选择合适的处理器架构(如 x86/64),下载 rootfs.tar.gz 镜像压缩包:
    OpenWrt 官方发布路径

  2. 使用以下命令将镜像包下载到 PVE 本地目录:

    cd /var/lib/vz/template/cache
    wget https://archive.openwrt.org/releases/23.05.4/targets/x86/64/openwrt-23.05.4-x86-64-rootfs.tar.gz
    

1.2 创建 OpenWrt LXC 容器

在 PVE 节点上创建 LXC 容器,使用以下命令:

pct create 102 local:vztmpl/openwrt-23.05.4-x86-64-rootfs.tar.gz –rootfs local-lvm:1 –ostype unmanaged –hostname OpenWrt –arch amd64 –cores 8 –memory 1024 –swap 0 –net0 bridge=vmbr0,name=eth0


1.3 配置容器 Tun 模式

编辑容器配置文件,追加以下内容:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file


1.4 启动容器

  1. 在 PVE 界面中,左侧数据中心 -> PVE -> 选择容器。

  2. 点击 控制台 -> 启动,按回车即可进入容器终端。


1.5 配置 IP 和 DNS

修改容器网络配置文件 /etc/config/network:

config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.50.102'
option netmask '255.255.255.0'
option gateway '192.168.50.1'
list dns '192.168.50.1'


1.6 设置访问密码

使用以下命令设置登录密码:

passwd


1.7 检查网络连通性

访问 http://192.168.50.102 进入 OpenWrt Web 界面,测试网络连通性。


  1. 安装 OpenClash

2.1 安装前置依赖

在容器控制台执行以下命令:

opkg update
opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base luci-i18n-base-zh-cn

如遇到 dnsmasq 冲突问题,使用以下命令卸载原包并重新安装:

opkg remove dnsmasq
opkg install dnsmasq-full


2.2 下载 OpenClash 安装包

前往 OpenClash 官方发布地址,下载最新的 luci-app-openclash 安装包,并按照官方指南完成安装。


至此,您已经完成了在 PVE LXC 环境下安装 OpenWrt 和 OpenClash 的全部步骤。如有问题,欢迎交流! ‘ > source/_posts/pve-lxc-openwrt-openclash-tun.md

解释:

  1. echo:将内容以字符串形式输出。
  2. 重定向 (>):将内容写入到 Hexo_posts 文件夹中,文件名为 pve-lxc-openwrt-openclash-tun.md
  3. 路径source/_posts/ 是 Hexo 默认的文章存放路径。

生成文章后:

运行以下命令查看效果:

hexo clean && hexo generate && hexo server

然后访问 http://localhost:4000 查看生成的文章。

开源销售点系统 (OSPOS) 安装与功能介绍

开源销售点系统 (OSPOS) 安装与功能介绍

开源销售点系统(Open Source Point of Sale,简称 OSPOS)是一个基于 Web 的销售点应用程序,由 PHP 的 CodeIgniter 框架编写,使用 MySQL 作为数据后端,并具有基于 Bootstrap 3 的用户界面。


功能特点

OSPOS 提供了一系列强大的功能,满足不同业务需求:

  • 库存管理:支持物品和套件,具有可扩展属性列表。
  • 税务支持:支持增值税、商品及服务税、多层税收。
  • 销售管理
    • 销售登记册,包含交易记录。
    • 报价和发票。
    • 收款功能。
    • 支持提现。
  • 打印和电子邮件支持
    • 打印和通过电子邮件发送收据、发票和报价单。
    • 条码生成和打印。
  • 数据库管理:客户和供应商数据库。
  • 多用户支持:具有权限控制。
  • 报告功能:提供销售、订单、费用、库存状态等报告。
  • 其他功能
    • 礼品卡、奖励、餐厅餐桌管理。
    • 短信通知。
    • 多语言支持。
    • GDPR 就绪。
    • Mailchimp 集成。
    • Google reCAPTCHA 保护登录页面免受暴力攻击。

环境需求

OSPOS 使用以下技术栈:

  • Web 框架:CodeIgniter。
  • 数据库:MySQL(推荐使用 MariaDB)。
  • 用户界面:基于 Bootstrap 3,可通过 Bootswatch 更改主题。

Docker 安装

使用 Docker 部署 OSPOS 的方法如下:

1. Docker Compose 文件

创建一个名为 docker-compose.yml 的文件,并填入以下内容:

1
nano docker-compose
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
version: '3.4'

networks:
app_net:
db_net:

services:
sqlscript:
image: jekkos/opensourcepos:sqlscript
command: /bin/sh -c 'exit 0'

ospos:
image: jekkos/opensourcepos:3.3.8
restart: always
depends_on:
- mysql
ports:
- "18080:80"
networks:
- app_net
- db_net
volumes:
- /volume1/docker/opensourcepos:/app/public/uploads
- /volume1/docker/opensourcepos:/app/application/logs
environment:
- CI_ENV=production
- FORCE_HTTPS=false
- PHP_TIMEZONE=UTC
- MYSQL_USERNAME=admin
- MYSQL_PASSWORD=pointofsale
- MYSQL_DB_NAME=ospos
- MYSQL_HOST_NAME=mysql

mysql:
image: mariadb:10.5
container_name: mysql
restart: always
expose:
- "3306"
networks:
- db_net
volumes_from:
- sqlscript
volumes:
- /volume1/docker/opensourcepos:/var/lib/mysql:rw
environment:
- MYSQL_ROOT_PASSWORD=pointofsale
- MYSQL_DATABASE=ospos
- MYSQL_USER=admin
- MYSQL_PASSWORD=pointofsale

搭建属于自己的发卡小店-独角数卡

搭建属于自己的发卡小店-独角数卡

一、首先给出大佬的 Git官方仓库

https://github.com/assimon/dujiaoka
我选用的是docker版本的部署,至于为什么选择这个,当然是因为方便!
二、直接运行docker版本的独角卡命令
1.部署脚本

1
docker run -dit --name dujiaoka -p 80:80 -p 9002:9000 -e WEB_DOCUMENT_ROOT=/app/public jiangjuhong/dujiaoka

2.安装的时候需要MySQL和Redis,所以就直接安装他们

1
2
docker run -d -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /data/mysql/config/my.cnf:/etc/mysql/my.cnf -v /data/mysql/db:/var/lib/mysql mysql:5.7
docker run -d --name myredis -p 6379:6379 redis --requirepass "12345"

没有报错的情况,就已经准备工作好了
3.直接访问部署服务的IP,就可以填写对应的MySQL和Redis的信息进行安装,如果数据库没有创建库,你可以通过数据库连接工具创建一个库
5.可以使用CF域名管理映射到对应vps的IP上面就可以通过域名进行访问
6.里面的邮箱配置可以参考如下图:
pic_40719099.png