Coolify系列02-从0到1超详细手把手教你上手Coolify
接着上集(Coolify系列01- 从0到1超详细手把手教你上手Heroku 和 Netlify 的开源替代方案 ),此时我们已经运行成功,如果没有成功,可以参考我的Coolify系列其他文章来解决问题:
- 镜像下载
- 防火墙开启
- 遇到报错
重启
如果由于某种原因,你的实例崩溃了,你可以用下面的命令重新启动它:
wget -q https://get.coollabs.io/coolify/install.sh \
-O install.sh; sudo bash ./install.sh -r
防火墙设置
您需要在防火墙中允许以下端口
- Coolify: 3000 (required)
- Reverse Proxy: 80, 443 (optional)
- Public Port Range: 9000-9100 (optional)
开防火墙端口
查看防火墙状态
systemctl status firewalld
如果不是显示active状态,需要打开防火墙
systemctl start firewalld
查看所有已开放的临时端口
firewall-cmd --list-ports
查看所有永久开放的端口(默认为空)
firewall-cmd --list-ports --permanent
添加永久开放的端口(例如:8080端口)
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
关闭临时端口
firewall-cmd --remove-port=80/tcp
关闭永久端口
firewll-cmd --remove-port=80/tcp --permanent
配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld
设置
只有root team 中的用户才能配置系统范围的设置。
URL实例Domain
- 您可以为Coolify实例指定一个完全限定域名(例如:https://example.com)。
- 如果没有这个配置,你需要使用<ip地址>:3000来到达你的Coolify实例,所有的webhook都将前往该ip地址
默认重定向URL
将未配置的服务重定向到该页。就像如果你为example.com设置了一个DNS入口,但是你没有在这个域上运行任何东西,Coolify Proxy会将任何请求重定向到这个默认重定向URL。
公共端口
默认值:9000-9100
端口用于按需TCP代理(公共数据库),服务(如果需要额外的代理)。
DNS检查
默认值:开启
默认情况下,所有DNS设置都可以通过Let's Encrypt servers and Coolify来解决。如果您在反向代理或隧道后面使用,可以禁用此检查以防止不必要的错误。
允许注册
默认:打开,但在第一次注册后,关闭。
在第一次注册后,启用此选项以防止不必要的注册。
SSH密钥
您可以将SSH密钥(私钥)添加到Coolify实例,该实例可用于连接到远程Docker引擎。
SSL证书
您可以向Coolify Proxy添加自定义SSL证书,甚至是自签名证书。
身份与访问管理(IAM)
用户
成功安装Coolify后,可以通过提供的UI开始配置它。
注册
- 第一个注册用户将是Coolify实例的根/管理用户(id为0)。该用户将查看并更改部署的所有资源、访问系统范围的配置、启动一键更新过程等等。
- 其他用户不能访问系统范围的配置,只能看到自己团队的资源。
身份验证方法
支持电子邮件/密码注册。
重置密码
- 管理员可以在设置菜单中重置团队成员的密码。如果要求重置密码,用户有10分钟的时间。
- 密码重置通过登录过程完成。用户的新密码将是登录表单上使用的密码。
- 等待10分钟后,可以使用旧密码登录,密码重置过程停止。
团队
- 每个注册用户自动拥有自己的团队。每个团队只能使用自己的资源。
- 你可以注册任意数量的团队,并邀请任意数量的用户加入。
- 只有具有管理员权限的人邀请您进入其他团队,您才能访问该团队的资源。
Root Team
- 对于第一个用户,创建了id为0的根团队。
- 这个团队中的用户拥有与第一个用户相同的特权,因此他们可以查看和更改部署的所有资源、访问系统范围的配置、发起一键更新流程等。
应用
- 应用程序用于部署代码的生产版本。所有数据都基于您提供的git存储库。
- Coolify不仅自动构建,还自动配置反向代理(Traefik),并通过Let’s Encrypt请求SSL证书。
- 你只需要推送你的代码!
应用程序支持#
- 应用程序基于自定义构建包和Heroku构建包
- 构建包具有预定义的配置和构建过程,特别是对于框架,如VueJs, slvelte, React等。
- 为了选择最合适的构建包,Coolify扫描您的存储库来猜测它。
构建图像
您可以选择在构建期间使用哪个构建和部署映像。例如,节点版本为14/16/18。
Secrets
Secrets是应该在构建或运行时设置的环境变量。
暴露端口
您可以将应用程序暴露给主机系统上的端口。
如果你想使用自己的反向代理或隧道,也可以在Coolify的开发模式下使用。
调试日志
- 查看扩展生成日志。默认值:off
部署类型
与Git App集成
- 您的应用程序将通过您的Git应用程序部署。对于私有存储库非常有用。
- 与Git流程完全集成,接收webhook,重新构建每个提交,审查PR/MR等。
git公共存储库
- 您的应用程序将基于来自Github.com和Gitlab.com的任何公共存储库构建和部署。
- 没有基于新提交的自动部署。
简单Dockerfile
- 您的应用程序将基于您使用的简单dockerfile进行部署。
- 不需要Git集成,不需要存储库,只需要一个纯Dockerfile。
数据库
只需单击几下即可快速部署数据库。
- MongoDB - AMD64/ARM
- MariaDB - AMD64/ARM
- MySQL - AMD64/ARM
- PostgreSQL - AMD64/ARM
- CouchDB - AMD64/ARM
- Redis - AMD64/ARM
要查看可以使用环境变量设置的所有特性,请检查基本image链接!
功能
修改默认随机密码#
您可以从UI更改所有密码(数据库应该运行)。
设置为public
- 您可以将数据库设置为公共的。默认值:off
- 对于备份和恢复,或在服务器外部访问数据库非常有用。
服务
服务是作为服务为您提供的流行的开源和自托管应用程序。
支持服务列表
- WordPress
- Ghost
- Plausible Analytics
- NocoDB
- VSCode Server
- MinIO
- VaultWarden
- LanguageTool
- n8n
- Uptime Kuma
- MeiliSearch
- Umami
- Fider
- Hasura
- Appwrite
- Glitchtip
Requirements
每个服务都需要特定数量的CPU /内存/存储。有关如何选择硬件详细信息,请参阅它们的文档
持久性
所有数据都是持久化的。这意味着,如果你停止了一个服务,你所有的数据都会保存在Docker卷上。如果你停止/启动一项服务,你的数据将保持原样。
日志
您可以查看服务的运行日志。
Secrets
在前端有一些预定义的Secrets,它们是自动生成的(比如密码、用户),或者你可以手动填写。如果需要更多的环境变量,可以在secrets选项卡中定义它们。
Sources
Git源
Git源代码定义了在哪里获取/提取应用程序代码,这些来源用于:
- 在Git提供商上安装帮助应用程序(如GitHub App, GitLab App)。
- 通过令牌/ssh密钥提供对存储库的访问。
- 克隆应用程序代码。
- 为自动部署设置网络钩子。
支持的Git源代码#
- GitHub
- GitLab
您也可以使用这些Git提供程序的自托管或企业版本。
如何与Gitlab集成?请点击这里
如何导入公共Git库?请点击这里
Destinations
- Destinations定义在哪里部署应用程序、数据库或服务。
- Destinations有助于创建不同应用程序之间的网络隔离。同一网络中的应用程序、数据库和服务可以相互通信。
支持Destinations
- 本地Docker引擎
- 远程Docker引擎
本地Docker引擎#
这意味着所有资源都部署在Coolify运行的同一台服务器上。
配置
- Engine - /var/run/docker.sock -你不能修改它。
- Network -用于在已定义的docker引擎中创建docker网络。
- Coolify Proxy -这是一个基于Traefik的特殊代理,由Coolify自动配置。
远程Docker引擎#
- 允许您使用任何类型的服务器作为目标端点。
- 您可以使用一个Coolify实例作为控制平面/仪表板,并部署到无限数量的远程服务器上。
服务器要求
- 安装Docker引擎(20.11+)-查看说明
- 将SSH公钥添加到适当用户主目录下的. SSH /authorized_keys文件中,建议使用root,但也可以是任何访问Docker引擎的用户。
- 在“Settings/SSH Keys”菜单中添加已添加到远程服务器的SSH密钥的私钥。
今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢
欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
Coolify系列02-从0到1超详细手把手教你上手Coolify的更多相关文章
- Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解
一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...
- Linux从入门到放弃、零基础入门Linux(第二篇):在虚拟机vmware中安装linux(一)超详细手把手教你安装centos分步图解
一.Vmware vmware介绍:VMware,Inc. (Virtual Machine ware)是一个“虚拟PC”软件公司,提供服务器.桌面虚拟化的解决方案.其虚拟化平台的产品包括播放器:它能 ...
- webpack从0到1超详细超基础学习教程
概念 自己是一个一听到webpack就头大,看着一堆不知道那是什么玩意的东西总觉得自己做好前端就行了,但是在使用vue-cli的时候总觉得要改其中的一些东西进行项目初始化的时候能够更好使用!所以想要根 ...
- Aoite 系列(02) - 超动感的 Ioc 容器
Aoite 系列(02) - 超动感的 Ioc 容器 Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.Ioc 是一套解决依赖的最佳实践. 说 ...
- SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming
SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming 字数545 阅读52 评论0 喜欢1 JCo3.0调用SAP函数的过程 大致可以总结为以下步骤: 连接至 ...
- Java 集合系列 02 Collection架构
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- 【公众号系列】超详细SAP HANA JOB全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...
- java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream)
我们以ByteArrayInputStream,拉开对字节类型的“输入流”的学习序幕.本章,我们会先对ByteArrayInputStream进行介绍,然后深入了解一下它的源码,最后通过示例来掌握它的 ...
- JavaScript进阶系列02,函数作为参数以及在数组中的应用
有时候,把函数作为参数可以让代码更简洁. var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var su ...
- C#程序集系列02,使用记事本查看可执行程序集的IL代码
继续上一篇"C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序",在F盘的as文件夹中已经有了若干程序集.本篇体验使用记事本查看可执行程序集的IL代码 ...
随机推荐
- HTML躬行记(2)——WebRTC基础实践
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,在 2011 年由 Google 提出,经过 10 年的发展,W3C 于 2021 年正式发布 WebR ...
- python 矩阵切片
假设n是一个numpy或者torch.tensor张量,那么 n[a:b,c:d]则代表从a到b行(不含b行),c到d列(不含d列)的切片 当然,ab.cd中的数是可以省略掉,只要abcd中有一个数即 ...
- .net core 配置跨域
使用场景: 由于浏览器的同源策略,即浏览器的安全功能,同源策略会阻止一个域的js脚本和另一个域的内容进行交互. 会出现以下报错: 怎样属于非同源呢? 协议.域名.端口号只要有一个不相同就是属于非同源 ...
- 题解 UVA10285 最长的滑雪路径 Longest Run on a Snowboard
Solution 双倍经验 就是记搜嘛. 搞一个二维数组记录一下当前的最长滑雪路径,其他和普通 dfs 没什么两样. 向 \(4\) 个方向搜索,如果高度符合就 \(+1\) . 多测要注意数组初始化 ...
- 十、RHEL Podman命令
Podman介绍 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker 非常相似的功能.正如前面提到的那样,它不需要在你的系统上运行任何守护 ...
- 搭建harbor私有仓库
2-1.项目说明 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware开源,其通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源 Docke ...
- mlflow详细安装部署
1.安装docker # 安装工具 sudo yum install -y yum-utils # 添加yum仓库配置 sudo yum-config-manager --add-repo https ...
- windows下 安装docker
一.Docker 1.什么是docker 对比 特性 容器 虚拟机 启动 秒级 分钟级 磁盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2. 使用d ...
- Python基础部分:10、数据类型的内置方法和字符编码
目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...
- 从 QFramework 重新开始
自从上一篇博文写完后,就进入了繁忙工作状态,直到最近才开始有一点空闲时间. 这次繁忙的状态从 2022 年 10 月 11 日 持续到 2022 年 11 月 5 日. 主要的工作就是 QFramew ...