当前位置: 首页 > news >正文

linux上搭建Lago并部署

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

相关文章:

  • word转换为pdf后图片失真解决办法、高质量PDF转换方法
  • C语言32个关键字
  • 面试【进阶】 —— 说下csr、ssr、ssg 的区别?
  • 【MySQL 的数据目录】
  • Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系
  • 【AIDevops】Deepseek驱动无界面自动化运维与分布式脚本系统,初探运维革命之路
  • 进程通信——信号
  • ESP 32控制无刷电机2
  • 【前端进阶】10 掌握前端框架模板引擎的实现原理
  • SpringBoot返回文件让前端下载的几种方式
  • CISP-PTE:kali常用命令
  • 用大白话解释搜索引擎Elasticsearch是什么,有什么用,怎么用
  • 软件测试丨Native应用性能分析与优化指南
  • 鹏信科技入选2024年网络安全技术应用典型案例项目名单
  • 【Pandas】pandas Series ffill
  • LeapVAD:通过认知感知和 Dual-Process 思维实现自动驾驶的飞跃
  • Web1、Web2 与 Web3 的核心区别
  • 解决 Excel 模板填充痛点:开发一款高效实用的工具
  • 数据链路层 ARP 具体过程 ARP 欺骗
  • jenkins使用不同用户管理不同工程
  • 大连无网站的企业有哪些/站长之家域名查询排行
  • 女网友叫我一起做优惠券网站/郑州网站推广效果
  • 建设文化产业网站的方案/百度收录提交入口地址
  • 腾龙时时彩做号软件官方网站/网站结构优化
  • 成都制作网站/网站排行榜查询
  • 北京北站/seo 优化教程