目录

一、系统版本要求:

二、部署步骤

2.1 安装docker 和docker-compose

2.2 准备docker-compose.yaml

2.3 初始化数据库

2.4 安装nginx

2.6 启动项目

三、使用教程


一、系统版本要求:

  • linux ubuntu 22.04+
  • 2核4G 40GB(或以上)
  • 公网ip一个
  • 端口白名单:80、443(0.0.0.0/0)

二、部署步骤

2.1 安装docker 和docker-compose

apt update && apt install docker.io -y
wget https://github.com/docker/compose/releases/download/v2.30.1/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose && chmod +x ./docker-compose && mv ./docker-compose /usr/bin/

2.2 准备docker-compose.yaml

mkdir /data/chatwoot
vim /data/chatwoot/docker-compose.yaml

将下面配置文件复制到/docker-compose.yaml

version: '3'services:base: &baseimage: chatwoot:latestenv_file: .env ## Change this file for customized env variablesvolumes:- storage_data:/app/storagerails:<<: *basedepends_on:- postgres- redisports:- '127.0.0.1:3000:3000'environment:- NODE_ENV=production- RAILS_ENV=production- INSTALLATION_ENV=dockerentrypoint: docker/entrypoints/rails.shcommand: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0']restart: alwayssidekiq:<<: *basedepends_on:- postgres- redisenvironment:- NODE_ENV=production- RAILS_ENV=production- INSTALLATION_ENV=dockercommand: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']restart: alwayspostgres:image: pgvector:pg16restart: alwaysports:- '0.0.0.0:5432:5432'volumes:- postgres_data:/var/lib/postgresql/dataenvironment:- POSTGRES_DB=chatwoot- POSTGRES_USER=postgres# Please provide your own password.- POSTGRES_PASSWORD=qishuo&_123redis:image: redis:alpinerestart: alwayscommand: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]env_file: .envvolumes:- redis_data:/dataports:- '127.0.0.1:6379:6379'volumes:storage_data:postgres_data:redis_data:

 如果国内下载失败,可以尝试使用阿里、清华源

docker-compose up -d

2.3 初始化数据库

注意,容器名可能不叫chatwoot-rails-1,docker ps查看容器名确认后执行

 docker-compose run --rm chatwoot-rails-1 bundle exec rails db:chatwoot_prepare

2.4 安装nginx

目的是暴露到外网

apt install nginx

配置下面的nginx文件,注意修改server_name xxxx 为自己的域名

vim /etc/nginx/conf.d/chatwoot.conf

server {server_name xxxx;# Point upstream to Chatwoot App Serverset $upstream 127.0.0.1:3000;# Nginx strips out underscore in headers by default# Chatwoot relies on underscore in headers for API# Make sure that the config is set to on.underscores_in_headers on;location /.well-known {alias /var/www/ssl-proof/chatwoot/.well-known;}location / {proxy_pass_header Authorization;proxy_pass http://$upstream;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Ssl on; # Optionalproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_buffering off;client_max_body_size 0;proxy_read_timeout 36000s;proxy_redirect off;}listen 80;
}

加载nginx配置

nginx -t && nginx -s reload

配置证书,最后一步需要填写你自己的域名

apt install certbot
apt-get install python3-certbot-nginx
mkdir -p /var/www/ssl-proof/chatwoot/.well-known
certbot --webroot -w /var/www/ssl-proof/chatwoot -d 你的域名 -i nginx

2.6 启动项目

访问域名 https://你的域名

三、使用教程

待更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86382.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86382.shtml
英文地址,请注明出处:http://en.pswp.cn/web/86382.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是回归测试?什么时候需要做回归测试?

回归测试详解&#xff1a;概念、时机与最佳实践 1. 什么是回归测试&#xff1f; 回归测试&#xff08;Regression Testing&#xff09; 是指在对软件进行修改&#xff08;如修复Bug、新增功能、优化代码&#xff09;后&#xff0c;重新执行已有测试用例&#xff0c;以确保&am…

Android-Layout Inspector使用手册

Layout Inspector Android Layout Inspector 是 Android Studio 中用于调试应用布局的工具 启动方法&#xff1a; 通过下载Layout Inspector插件&#xff0c;在 “View - Tool Windows - Layout Inspector” 或 “Tools - Layout Inspector” 启动。 主要界面区域&#xff1a…

postgreSQL 数据库字典导出工具

为满足项目验收文档需求&#xff0c;开发了一个基于Python的PostgreSQL数据字典导出工具。 废话不多说&#xff0c;先分享一下 软件截图 数据字典文件样式,文件格式为docx 软件源码 基于python开发&#xff0c; import tkinter as tk from tkinter import ttk, messagebox …

【AI解析】 CppNumericalSolvers:一个现代化的 C++17 纯头文件优化库 示例代码解析

一个轻量级仅头文件的 C17 库&#xff0c;提供针对&#xff08;无&#xff09;约束非线性函数及表达式模板的数值优化方法 https://github.com/PatWie/CppNumericalSolvers CppNumericalSolvers 库 include 目录下的文件及其功能说明 根目录文件 文件名功能说明function.h(主函…

第3篇:Gin的请求处理——获取客户端数据(Gin文件上传,接收JSON数据)

引言&#xff1a;Context是Gin的"瑞士军刀" 在Gin框架中&#xff0c;Context就像一把多功能的瑞士军刀&#xff0c;封装了所有与请求相关的操作。新手开发者常犯的错误是只把它当作参数传递的工具&#xff0c;却忽略了它强大的数据处理能力。 想象一个场景&#xf…

启动hardhat 项目,下载依赖的npm问题

Windows 环境 Hardhat 依赖安装问题排查指南 &#x1f6a8; 问题描述 在 Windows 环境下安装 Hardhat 项目依赖时&#xff0c;遇到以下错误&#xff1a; npm ERR! code ETARGET npm ERR! notarget No matching version found for nomicfoundation/edr^0.11.1. npm ERR! nota…

大数据里的拉链表:数据版本管理的时间胶囊

哈喽各位数据打工人&#xff5e;今天咱们来聊聊大数据领域一个超实用的神器 ——拉链表&#xff01;听起来像时尚单品&#xff1f;NoNoNo&#xff0c;它可是数据仓库里管理历史数据的宝藏工具✨ 就算你是刚入门的小白也能轻松听懂&#xff0c;咱们全程少玩比喻多讲人话&#xf…

docker执行yum报错Could not resolve host: mirrorlist.centos.org

解决办法&#xff1a; -- 依次执行以下命令cd /etc/yum.repos.d/sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-*sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-*yum update -yecho "export LC_ALL…

JVM OutOfMemoryError原因及排查解决方案

在Java后端开发中&#xff0c;java.lang.OutOfMemoryError&#xff08;简称OOM&#xff09;是一个令开发者头疼的异常。它通常意味着Java虚拟机&#xff08;JVM&#xff09;在尝试分配新对象时&#xff0c;发现堆中没有足够的空间来容纳该对象&#xff0c;或者其他内存区域耗尽…

吐槽之前后端合作开发

大家好&#xff0c;我是佳瑞&#xff0c;从事10多年java开发程序员&#xff0c;爆照一张&#xff0c;存活互联网。 也做过vue开发自己的网站&#xff0c;觉得前端是真比后端开发轻松很多&#xff0c;就是画页面调样式&#xff0c;打包发布&#xff0c;当然不说是高级源码修改…

Oracle LogMiner日志分析工具介绍

Oracle LogMiner日志分析工具介绍 LogMiner使用须知LogMiner字典使用online catalog作为日志挖掘字典使用redo日志文件作为日志挖掘字典使用文本文件作为日志挖掘字典Redo日志文件自动获取日志文件手动获取日志文件启动LogMiner进行分析V$LOGMNR_CONTENTS视图LogMiner使用须知 …

2-4 Dockerfile指令(个人笔记)

以下指令基于 ubuntu Dockerfile整体示例 From&#xff1a;设置基础镜像 Maintainer &#xff1a;镜像维护者信息 COPY/ADD&#xff1a;添加本地文件到镜像中 WorkDir&#xff1a;设置工作目录 Run&#xff1a;执行命令 CMD/EntryPoint&#xff1a;配置容器启动时执行的命令

Redis主从架构哨兵模式

文章目录 概述一、主从搭建实例二、主从同步原理三、哨兵架构3.1、搭建哨兵架构3.2、演示故障恢复3.3、哨兵日志 概述 在生产环境下&#xff0c;Redis通常不会单机部署&#xff0c;为了保证高可用性&#xff0c;通常使用主从模式或集群架构&#xff0c;同时也面临着一些问题&am…

基于深度学习yolov5的安全帽实时识别检测系统

摘要&#xff1a;在现代工业和建筑行业中&#xff0c;确保员工的安全是至关重要的一环。安全帽作为一项基础的个人防护设备&#xff0c;对于降低头部受伤的风险发挥着关键作用。然而&#xff0c;确保工作人员在施工现场始终正确佩戴安全帽并非易事。传统的人工检查方法不仅效率…

GitLab 18.1 发布 Runner、无效的个人访问令牌查看等功能,可升级体验!

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…

量子计算与AI融合 - 企业级安全威胁应对

量子计算&#xff08;QC&#xff09;虽带来万亿级市场机遇&#xff08;2025-2035年&#xff09;&#xff0c;但潜藏重大安全风险&#xff1a;可能破解现有加密系统&#xff0c;催生"现在窃取&#xff0c;未来解密"攻击。美国NIST已启动后量子加密标准&#xff0c;但技…

Excel:filter函数实现动态筛选的方法

filter的意思是“过滤、筛选”&#xff0c;动态筛选&#xff0c;FILTER()函数可以将对筛选区域内容&#xff0c;并将结果自动溢出生成一个新区域&#xff0c;以下是函数的使用方法&#xff1a; &#xff08;一&#xff09;情景&#xff1a;给定两列数据&#xff0c;我需要根据…

兰洋科技上合组织论坛发表专题分享,全球液冷布局引领绿色算力未来

2025年6月17-19日&#xff0c;中国—上海合作组织数字技术合作发展论坛在新疆克拉玛依市举办。作为第四次上海合作组织成员国信息通信技术发展部门负责人会议的配套会议&#xff0c;论坛以“数字化转型助力可持续发展&#xff0c;数字包容促进上合共同繁荣”为主题&#xff0c;…

LED-Merging: 无需训练的模型合并框架,兼顾LLM安全和性能!!

摘要&#xff1a;对预训练大型语言模型&#xff08;LLMs&#xff09;进行微调以适应特定任务&#xff0c;会带来巨大的计算和数据成本。虽然模型合并提供了一种无需训练的解决方案&#xff0c;用于整合多个特定任务的模型&#xff0c;但现有方法存在安全性与效用性之间的冲突&a…

火山引擎向量数据库 Milvus 版正式开放

资料来源&#xff1a;火山引擎-开发者社区 随着AI技术的不断演进发展&#xff0c;非结构化数据也迎来了爆发式的增长。Milvus作为一款为大规模向量相似度搜索和 AI 应用开发设计的开源向量数据库系统&#xff0c;目前已在业界占据领导地位。当前 Milvus 已经被 5,000 家企业所…