linux上搭建Lago并部署

news/2025/3/1 21:19:15/
1. 系统更新
sudo apt update
sudo apt upgrade -y
2. 安装必要的依赖
  • 安装 Git
sudo apt install git -y
  • 安装 Docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
  • 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  • 安装 PostgreSQL
sudo -u postgres psql
CREATE DATABASE lago_production;
CREATE USER lago_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE lago_production TO lago_user;
\q

获取 Lago 代码

git clone https://github.com/getlago/lago.git
cd lago

配置 Lago

1. 生成 RSA 私钥

Lago 需要 RSA 私钥进行签名和验证,使用以下命令生成:

openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
cat private_key.pem | tr -d '\n'

将输出的私钥内容复制下来,后续配置环境变量时会用到。

2. 配置环境变量

在项目根目录下创建或编辑.env文件,配置必要的环境变量。

nano .env

在文件中添加以下内容,根据实际情况进行修改:

LAGO_ENV=production
LAGO_HOST=your_server_ip_or_domain
LAGO_PORT=3000
LAGO_RSA_PRIVATE_KEY=your_rsa_private_key
DATABASE_URL=postgresql://lago_user:your_password@localhost:5432/lago_production

your_server_ip_or_domain替换为服务器的 IP 地址或域名,your_rsa_private_key替换为之前生成的 RSA 私钥,your_password替换为之前设置的 PostgreSQL 用户密码。

3. 保存并退出编辑器

Ctrl + X,然后按Y确认保存,最后按Enter退出。

数据库迁移

运行以下命令进行数据库迁移:

docker-compose run --rm api bundle exec rake db:create db:migrate

启动 Lago 服务

使用 Docker Compose 启动 Lago 的各个服务:

docker-compose up -d

这将在后台启动 Lago 的 API 服务、Web 界面等。

验证部署

1. 检查服务状态

使用以下命令检查 Docker 容器的运行状态:

docker-compose ps

遇到的问题:

1、碰到这个页面点击esc就行

2、拉取镜像超时

解决方法:vi /etc/docker/daemon.json

配置如下地址

{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}

重新加载配置文件及docker服务

systemctl daemon-reload

systemctl restart docker

3、端口被占用

杀掉对应的端口服务即可

4、docker-compose up -d报错

删除docker-compose.yml文件中start_interval和depends_on下的restart属性

5、调用路径不是服务器

解决方案:修改docker-compose.yml中的localhost为服务器ip

x-lago-api-url: &lago-api-url
  "LAGO_API_URL": ${LAGO_API_URL:-http://localhost:3000}
x-lago-front-url: &lago-front-url
  "LAGO_FRONT_URL": ${LAGO_FRONT_URL:-http://localhost}

"API_URL": ${LAGO_API_URL:-http://localhost:3000}

修改完后执行docker-compose down 和docker-compose up -d


http://www.ppmy.cn/news/1575872.html

相关文章

【文献阅读】A Survey on Model Compression for Large Language Models

大语言模型模型压缩综述 摘要 大语言模型(LLMs)已成功变革了自然语言处理任务。然而,其庞大的规模和高昂的计算需求给实际应用带来了挑战,尤其是在资源受限的环境中。模型压缩已成为应对这些挑战的关键研究领域。本文对大语言模…

HTTPS 与 HTTP 的区别在哪?

HTTP与HTTPS作为互联网数据传输的核心协议,其通信机制与安全特性深刻影响着现代网络应用的可靠性与用户体验。本文将解析两者的通信流程、安全机制及核心差异。 一、HTTP的通信机制 先来看看HTTP是什么吧。 HTTP基于TCP/IP协议栈,采用经典客户端-服务…

DeepSeek-R1本地部署保姆级教程

一、DeepSeek-R1本地部署配置要求 (一)轻量级模型 ▌DeepSeek-R1-1.5B 内存容量:≥8GB 显卡需求:支持CPU推理(无需独立GPU) 适用场景:本地环境验证测试/Ollama集成调试 (二&a…

go设计模式

刘:https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 单例模式 2. 简单工厂模式 代码逻辑: 原始:业务逻辑层 —> 基础类模块工厂:业务逻辑层 —> 工厂模块 —> 基础类模块…

PYQT学习笔记-从简单窗口到多功能主窗口的实现

PyQt5学习笔记:从简单窗口到多功能主窗口的实现 1. 环境准备2. 创建第一个PyQt窗口2.1 代码实现2.2 代码解析2.2.1 创建应用程序2.2.2 创建窗口2.2.3 创建布局2.2.4 添加复选框和按钮2.2.5 信号与槽2.2.6 显示窗口 3. 关键点解释3.1 arg 是什么?3.2 lamb…

在PyCharm中集成AI编程助手并嵌入本地部署的DeepSeek-R1模型:打造智能开发新体验

打造智能开发新体验:DeepSeekPycharmollamaCodeGPT 目录 打造智能开发新体验:DeepSeekPycharmollamaCodeGPT前言一、什么是ollama?二、如何使用1.进入ollama官方网站:2.点击下载ollama安装包3.根据默认选项进行安装4.安装成功5.打开命令提示符…

SQL*PLUS命令

SQL*Plus概述 SQL*Plus工具是随Oracle 数据库服务器或客户端的安装而自动进行安装的管理与开发工具,Oracle数据库中所有的管理操作都可以通过SQL*Plus工具完成,同时开发人员利用SQL*Plus可以测试、运行SQL语句和PL/SQL程序。 运行方式: 命令…

k8s环境搭建(从创建完一台虚拟机开始)

注意: 在这之前,所有主机需要关闭防火墙!!! 1. docker 安装 所有主机都需要 1.1配置仓库 vim /etc/yum.repos.d/docker.repo https://mirror.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/9/x86_64/stable/ 1.2 下…