clntdev/servd

Docker PHP 开发环境

维护者

详细信息

github.com/clnt/servd

源代码

问题

安装: 48

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:项目

1.1.1 2024-04-07 22:52 UTC

This package is auto-updated.

Last update: 2024-09-07 23:39:04 UTC


README

Stable Build CI Status Code Coverage

ServD 是一个 Docker PHP 开发环境,受到 Laravel Valet 和 Laradock 的强烈启发,支持在工作目录内运行多个项目,主要运行在 [Alpine Linux](https://alpinelinux.cn/).

在其当前形式下,它安装了大部分可用的 PHP 扩展,包括 xdebug,它目前提供的性能比预期慢。这将会改变,并且这些扩展将在未来的版本中能够进行切换。

它提供 PHP、Node.js、数据库软件、Elasticsearch 和 PHP Composer 版本选择,使得根据您的需求更改环境变得容易。

安装

通过运行 composer global require clntdev/servd 在全局范围内安装,安装完成后,在 CLI 中输入 servd 并确保它返回命令列表。

  • 运行 servd install 命令来设置所需服务并生成位于用户主目录中的 .servd 文件夹。
  • 完成安装步骤后,运行 servd start 命令,这将拉取/构建镜像并启动配置的服务。

命令

命令列表

servd install

  • 创建 sqlite 数据库
  • 提示选择首选选项,如 PHP 版本/Node 版本和 Composer 版本
  • 提示确认工作目录,可以选择当前目录或指定完整路径

servd set:timezone

  • 设置 PHP 和核心 Docker 容器使用的时区
  • 这必须是一个有效的 IANA 时区,例如 Europe/London、America/New_York 等
  • 默认时区是 UTC

servd start

  • 启动 Docker 容器

servd stop

  • 停止 Docker 容器

servd restart

  • 重启 Docker 容器
  • 使用可选的 --rebuild 标志重新构建 Docker 镜像

servd rebuild

  • 重新构建 Docker 容器
  • 使用可选的 --update 标志更新镜像
  • 通过指定名称作为参数重新构建/更新特定容器: servd rebuild mysql

servd configure

  • 重新生成配置文件和目录结构

servd use x.x

  • 停止容器
  • 将 PHP 版本切换到指定的(支持 7.4、8.0、8.1)
  • 重新构建配置和 Docker 容器
  • 启动 Docker 容器

servd secure

  • 生成证书并配置当前项目以使用 HTTPS,重新构建配置文件并重启服务
  • 注意:您需要确保您的机器信任创建的 servdCA.crt CA

servd unsecure

  • 删除项目的现有证书文件并标记为不安全,重新构建配置文件并重启服务

servd secure:trust

  • macOS (需要 sudo) - 此命令将尝试将生成的 CA 证书添加到系统中
  • Linux 和 Windows 用户 - 您需要手动将 servdCA.crt 证书颁发机构文件添加到计算机的证书存储中

Firefox 用户注意:您可能需要手动通过将文件导入 Firefox 的证书存储(如果站点在 OS 浏览器中安全但不在 Firefox 中安全,则可能是这个原因)来信任 servdCA.crt 文件

servd park

  • 将项目目录添加/更改到当前目录

servd run "{command}"

  • 在Docker容器中运行给定的命令,使用当前目录名作为项目目录名,如果命令包含多个单词,请记得将命令用引号括起来,例如:servd run "php artisan cache:clear"

servd cli {容器名(可选)}

  • 打开一个交互式shell进入指定的容器或默认的servd_core容器(如果未指定)

支持的驱动程序

  • Laravel
  • Wordpress
  • Drupal
  • 通用Html(基本配置)
  • 通用Php(基本配置,带有php-fpm)

其他

Laravel Zero构建