使用 Docker Compose 搭建 Fiora 聊天室

引用

https://github.com/yinxin630/fiora
https://github.com/yinxin630/fiora/blob/master/docker-compose.yaml
https://yinxin630.github.io/fiora/zh-Hans/docs/install#docker-%E8%BF%90%E8%A1%8C

docker-compose.yml 文件

services:
  mongodb:
    image: mongo
    container_name: fiora_db
    volumes:
      - ${PWD}/data/mongo:/data/db
    restart: always

  redis:
    image: redis
    container_name: fiora_redis
    volumes:
      - ${PWD}/data/redis:/data
    restart: always

  fiora:
    image: suisuijiang/fiora
    container_name: fiora
    ports:
      - "127.0.0.1:9200:9200"
    environment:
      - Database=mongodb://mongodb:27017/fiora
      - RedisHost=redis
      - Administrator=admin
      - DisableCreateGroup=true
    depends_on:
      - mongodb
      - redis
    restart: always

使用 Docker Compose 搭建 Lsky Pro 图床服务

简介

Lsky Pro 是一款开源的图床程序,支持多种存储方式,提供了良好的用户界面和丰富的功能。本文将详细介绍如何使用 Docker Compose 来部署 Lsky Pro,这种方式相比传统安装更加简单和可维护。

引用

https://docs.lsky.pro/guide/install
https://www.cpolar.com/blog/casaos-uses-docker-to-build-lsky-pro-locally
https://hub.docker.com/r/dko0/lsky-pro
https://blog.laoda.de/archives/docker-compose-install-lskypro
https://github.com/lsky-org/lsky-pro/issues/256

环境要求

  • Docker 20.10.0 或更高版本
  • Docker Compose V2
  • 2GB 或更多内存
  • 域名(用于网络访问)
  • Nginx(用于反向代理)

部署步骤

1. 创建项目目录

mkdir lsky-pro
cd lsky-pro

使用Docker独立部署Waline评论系统的完整指南

引言

Waline是一个简洁、安全的评论系统,支持多种部署方式。本文将介绍如何使用Docker独立部署Waline,并配置MySQL数据库来存储评论数据。通过Docker部署不仅简化了安装过程,还提供了更好的环境隔离和可移植性。

参考资料

https://waline.js.org/guide/database.html
https://bg3lnt.xyz/posts/dc23e930.html

先决条件

在开始部署之前,请确保您的系统满足以下要求:

  • 已安装Docker和Docker Compose
  • 了解基本的命令行操作
  • 准备好域名和服务器(如需公网访问)

在Sitecore中实现多项创建功能

背景

在Sitecore内容管理中,经常会遇到需要批量创建多个相同模板项的情况。默认的Sitecore只支持一次创建一个项,这对于需要创建多个类似项(如卡片、图片等)的场景来说效率较低。本文将介绍如何扩展Sitecore的插入功能,实现一次性创建多个项的功能。

需求分析

基本需求

  • 在现有Insert选项旁添加批量创建选项
  • 允许用户指定基础名称和创建数量
  • 自动处理项目命名和序号
  • 处理名称冲突问题

技术要点

  • 扩展Sitecore命令系统
  • 创建符合Sitecore标准的对话框
  • 实现智能命名策略
  • 错误处理和用户反馈

实现方案

在Core库中创建menu

  • /sitecore/content/Applications/Content Editor/Ribbons/Strips/Home/Multi New
    Reference : sitecore/content/Applications/Content Editor/Ribbons/Chunks/Multi Insert
  • /sitecore/content/Applications/Content Editor/Ribbons/Chunks/Multi Insert (Copy from Insert)
  • /sitecore/content/Applications/Content Editor/Ribbons/Chunks/Multi Insert/New
    Type : Sitecore.Foundation.SitecoreExtensions.Shell.Applications.ContentManager.Panels.CustomNewPanel,Sitecore.Foundation.SitecoreExtensions

在Azure Kubernetes Windows容器中使用PowerShell测试Redis SSL连接

引言

https://stackoverflow.com/a/55615885
https://community.chocolatey.org/packages/redis
https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-windows/

在复杂的云原生环境中,确保各组件间的连接至关重要。本文将分享一个在Azure Kubernetes Service (AKS) 的Windows容器中测试Redis SSL连接的曲折历程,最终找到了一个出人意料的简单解决方案。

项目背景

我们的项目是一个基于ASP.NET的Sitecore应用,部署在Azure Kubernetes Service的Windows容器中。整个系统包含多个组件:

  • 1个CM(Content Management)Pod
  • 4个CD(Content Delivery)Pod
  • 1个Redis Pod
  • 1个Solr Pod
  • 其他辅助服务

解决 Sitecore xdbautomationworker 容器的 SQL Server 连接问题

问题描述

在将 Sitecore 数据库从生产环境迁移到非生产环境后,xdbautomationworker 容器出现了无法连接到 SQL Server 的问题。错误日志显示:

System.Data.SqlClient.SqlException (0x80131904): Only active directory users can impersonate other active directory users.

这个错误发生在尝试执行 Sitecore.Xdb.ReferenceData.SqlServer.Commands.GetDefinitionTypeCommand 时。

问题分析

  • 初步检查显示,所有相关的数据库连接字符串都使用了 SQL 身份验证。
  • 数据库用户似乎拥有足够的权限(db_datareader 和 db_datawriter 角色)。
  • 存储过程使用了 WITH EXECUTE AS OWNER 子句,这可能是导致问题的原因。

深入调查

我们进行了以下调查:

检查数据库所有者:

SELECT name , owner_sid 
FROM sys.databases

在Debian 12上配置Nginx、Cloudflare CDN和SSL证书

在本文中,我们将详细介绍如何在Debian 12服务器上配置Nginx,设置Cloudflare CDN,以及为需要直接访问源站的特殊程序申请SSL证书。这个过程涉及多个步骤,包括安装Nginx,配置域名,使用Cloudflare CDN,以及使用Certbot申请SSL证书。

0. 引用

https://certbot-dns-cloudflare.readthedocs.io/en/stable/
https://lucasc.me/post/howto-certbot-dns-cloudflare-in-webmin

1. 安装和配置Nginx

首先,我们在Debian 12服务器上安装Nginx:

sudo apt update
sudo apt install nginx

安装完成后,配置您的域名。编辑Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。

2. 配置Cloudflare CDN

接下来,我们使用Cloudflare CDN来提高网站性能和安全性:

  • 在Cloudflare上注册账户并添加您的域名。
  • 更新域名的DNS记录,将其指向Cloudflare的名称服务器。
  • 在Cloudflare仪表板中,确保SSL/TLS设置为"Flexible"模式。

Sitecore XDB 容器连接问题:数据库迁移后的故障排除 | Sitecore XDB container connectivity issues: troubleshooting after database migration

Citation

https://sitecore.stackexchange.com/questions/23840/xdb-collection-shard0-login-failed-for-user

When performing database migrations in a Sitecore environment, particularly when copying from a production environment to a non-production environment, one may encounter several tricky issues. Recently, we faced an interesting case involving the Sitecore XDB container’s inability to connect after the database migration. This article will share our troubleshooting process and the final solution.

Problem Description:

After copying the production database to the non-production environment, the Sitecore XDB container began reporting connection errors. The error message indicated:

Database 'Sitecore.Xdb.Collection.Shard0' on server 'ahke-non-prod-sql1' is not currently available.

引用

https://sitecore.stackexchange.com/questions/23840/xdb-collection-shard0-login-failed-for-user

在 Sitecore 环境中进行数据库迁移时,特别是从生产环境复制到非生产环境时,可能会遇到一些棘手的问题。最近,我们遇到了一个有趣的案例,涉及 Sitecore XDB 容器在数据库迁移后无法连接的问题。本文将分享我们的故障排除过程和最终解决方案。

问题描述:

在将生产数据库复制到非生产环境后,Sitecore XDB 容器开始报告连接错误。错误信息显示:

Database 'Sitecore.Xdb.Collection.Shard0' on server 'ahke-non-prod-sql1' is not currently available.

Solr集群故障导致的项目不可用问题及解决方案

问题描述

在进行k8s节点升级后,我们的Solr集群出现了故障。由于我们的xdbsearch服务依赖于Solr集群,这个故障导致xdbsearch pod无法正常运行。同时,依赖于xdbsearch的其他pods也无法正常运行,从而导致整个项目不可用。

背景

使用Lens操作K8s, 它会自动映射端口
在Network > Services > Solr Cluster Headless 打开solr admin panel. 映射端口会定期更新,

解决 code-server 4.20 不再支持 glibc2.27 的问题:一次 Ubuntu 18.04 维护之旅

在这篇博客中,我将详细介绍一次 Ubuntu 18.04 系统维护的过程。我们的目标是升级 code-server 到最新版本,但由于系统中的 glibc 版本过低,我们需要进行一系列的操作来解决这个问题。

问题描述

我们的系统是 Ubuntu 18.04,安装的 glibc 版本是 2.27。然而,最新版本的 code-server 需要 glibc 2.28 或更高版本。因此,我们需要升级我们的 glibc。

解决方案

安装 glibc 2.28

我们首先尝试升级 Ubuntu 到最新版本,但由于 Python3 版本的问题,我们无法完成升级。因此,我们决定通过编译源码的方式来安装 glibc 2.28。

我们下载 glibc 2.28 的源码,然后进行编译和安装。然而,尽管我们已经安装了 glibc 2.28,但 ldd 命令仍然显示我们的 glibc 版本是 2.27。这是因为我们没有修改系统的动态链接库。

Viagle Blog

欢迎来到我的个人博客网站