prooxxy/gleipnir

我为 Magento 2 定制的个人即插即用 docker-composer 包装器

安装: 5,149

依赖者: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

语言:Shell

类型:magento2-component

1.3.0 2022-01-03 10:36 UTC

This package is auto-updated.

Last update: 2024-08-29 05:18:53 UTC


README

本地设置时的 Magento 2 环境管理器

注意:这是一个个人项目。我尽量做到,但不能保证会遵循 semver 或定期更新。因此,该项目可以作为在处理多个项目时管理本地环境的示例。

安装

composer require prooxxy/gleipnir:1.* --dev
chmod +x bin/gleipnir

mkdir -p .gleipnir/config/
touch .gleipnir/config/.env.gleipnir

使用

安装后,可执行文件在 bin/gleipnir 中可用,从此取代了 bin/magentodocker-compose

运行 bin/gleipnir help 以列出可用命令

gleipnir 用于调用命令,也是 magento 的入口点,如前所述。

gleipnir 未能识别的任何参数都将传递给 magento。

因此,如 startstoprestart 等参数将由 gleipnir 解释,而 setup:upgradecache:flush 等参数将传递到 php 容器中的 bin/magento

请参阅 config/.env.gleipnir 以获取示例配置。

配置

配置位于 config/.env.gleipnir
可以通过在 .gleipnir/config/.env.gleipnir 中添加修改后的键值对来覆盖它。

PROJECT_NAME 是项目的唯一标识符。对于您启动的每个项目,它都必须是唯一的。
TLD 是顶级域名,可以更改为您想要的任何内容。
SERVICES 包含启用服务的列表。从列表中删除服务将禁用它们。(docker-compose 的 depends_on 限制仍然适用)

MULTISITE 包含站点条目的列表。
站点条目包含三部分。<domain_name>:<run_code>:<run_scope> 以下示例将创建一个配置为以下配置的站点:域名 + TLD = dummy.test
MAGE_RUN_CODE = default
MAGE_RUN_TYPE = website

PROJECT_NAME='gleipnir'
TLD=".test"
SERVICES=('proxy' 'database' 'php' 'rabbitmq' 'redis' 'mailhog' 'elasticsearch')
MULTISITE=("dummy:default:website")

覆盖 docker-compose.yml

如果需要,可以覆盖 docker-compose.dist.yml。按照以下步骤进行:

  1. .gleipnir/config/ 中添加新文件 docker-compose.dist.yml
  2. 像添加额外的 docker-compose 文件一样添加覆盖项

Varnish

可以使用 USE_VARNISH 标志切换 Varnish。

代理服务负责 TLS 终止并将数据传递给 Varnish。
当不使用 Varnish 时,它将直接将数据传递到通常从 Varnish 接收数据的 httpd 服务。

覆盖配置文件

待办事项

功能

  • 在配置中设置依赖关系版本
  • 多站点支持
  • TLS 支持
  • 可切换 Varnish
  • 支持额外的 docker-compose 文件
  • 已安装 rabbitmq
  • 使用 mailhog 进行邮件拦截

待办事项

  • 添加对 mysql 8 的支持
  • 添加对 composer 版本的支持