Laravel启动器

laravel-prod-starter — Laravel 启动器模板

作者 asadtahta95

基于 Docker Compose 的 Laravel 部署模板,集成 PHP 8.3-FPM、Nginx、MariaDB、Redis、队列 worker、调度器和备份脚本,README 给出了完整的目录结构与部署命令。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-14查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

单个 docker-compose.yml 编排 nginx:1.27、php:8.3-fpm、mariadb:11.4、redis:7 及队列 worker、调度器容器

02

镜像版本固定,密码通过 .env 的 DB_PASS、DB_ROOT_PASS、REDIS_PASS 必填注入,不使用硬编码凭据

03

MariaDB 使用带健康检查的卷,并通过 depends_on 的 service_healthy 控制启动顺序

04

提供 scripts/deploy.sh(composer install、migrate、缓存)与 scripts/backup-db.sh(带时间戳的 mariadb-dump)

05

备份容器通过 compose 的 tools profile 按需运行,备份文件输出到 backups/ 目录

06

README 列出相对旧仓库的具体改动,包括移除 links/version、改用相对 ./src 挂载、补充 opcache 与队列 worker

模板详细介绍

这是一个把 Laravel 应用放进容器运行的生产向起步模板。README 说明它由单个 docker-compose.yml 组织:客户端请求先到 nginx:1.27 容器,再转发到 php:8.3-fpm 应用容器(含扩展与 opcache);应用连接带健康检查卷的 mariadb:11.4 和启用 AOF 与密码的 redis:7;队列 worker 与调度器以独立容器运行,复用同一个 PHP 镜像;备份通过 compose 的 tools profile 按需执行。

仓库结构包含 docker-compose.yml、.env.example、php/Dockerfile 与 opcache.ini、nginx/default.conf、用于放置 Laravel 代码的 src/ 目录,以及 scripts/deploy.sh(composer install、migrate、缓存)、scripts/backup-db.sh(带时间戳的 mariadb-dump)和 Makefile。README 提供的安装流程是克隆仓库后执行 make up,把代码放入 ./src,复制 .env.example 为 .env 并设置 DB_PASS、DB_ROOT_PASS、REDIS_PASS,再执行 make up 与 make deploy,最后访问 localhost:8080。

README 明确列出相对旧仓库 Docker_Compose_Laravel 的改动:固定镜像版本、移除硬编码密码改为 .env 必填变量、把绝对路径挂载改为相对 ./src、去掉已废弃的 links 与 version 键、为 MariaDB 增加 service_healthy 依赖,并补充 opcache、队列 worker、调度器、带密码与 AOF 的 Redis、健康检查、备份 sidecar 和 deploy.sh。安全说明要求不提交 .env 与 backups/*.gz、首次启动前修改所有 change-me-* 密码,并指出生产环境不应暴露 MariaDB(未发布 3306)或 phpMyAdmin(已按设计移除)。README 未提供具体 Laravel 版本、CI 配置细节、TLS 终止方式或反向代理的完整配置,这些需自行确认。

Laravel启动器

适合你的项目吗?

适用场景

  • 把已有 Laravel 项目放入 ./src 后,用 make up 与 make deploy 在本地或服务器上启动完整容器栈
  • 需要队列 worker 与调度器作为独立容器与 Web 应用一起运行的部署场景
  • 通过 make backup 生成带时间戳的数据库备份,并用 mariadb 命令从压缩文件恢复
  • 在 Traefik 或 Nginx Proxy Manager 等反向代理后方,将流量指向模板暴露的 8080 端口

适合人群

  • 希望用 Docker Compose 部署 Laravel 并需要队列、调度、Redis 与数据库备份组件的开发者
  • 需要固定镜像版本、避免硬编码密码的部署环境
  • 接受把应用代码放在 src/ 目录、通过 Makefile 与脚本完成部署和备份的团队

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    克隆仓库后执行 make up,把 Laravel 代码放入 ./src(或在该目录克隆应用)

  2. 2

    复制 .env.example 为 .env,设置 DB_PASS、DB_ROOT_PASS、REDIS_PASS,首次启动前修改所有 change-me-* 密码

  3. 3

    依次执行 make up 与 make deploy,然后访问 http://localhost:8080

  4. 4

    备份使用 make backup,恢复时用 gunzip -c backups/full-YYYY-MM-DD-HHMM.sql.gz | docker compose exec -T db mariadb -uroot -p"$DB_ROOT_PASS"

  5. 5

    不要提交 .env 或 backups/*.gz;README 说明生产环境不应暴露 MariaDB 或 phpMyAdmin

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 部署前必须复制 .env.example 为 .env 并手动设置 DB_PASS、DB_ROOT_PASS、REDIS_PASS 等数据库与 Redis 密码,否则无法正常启动。
  • 若需通过 HTTPS 对外提供服务,需自行准备并配置 Traefik 或 Nginx Proxy Manager 等反向代理,将流量指向模板暴露的 8080 端口。
  • 首次执行 up 之前必须修改所有 change-me-* 默认密码,否则存在安全风险。
  • 生产环境不应对外暴露 MariaDB(未发布 3306 端口)或 phpMyAdmin(已按设计移除),需自行确保网络隔离。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

vim .env # set DB_PASS, DB_ROOT_PASS, REDIS_PASS

README 原文

Behind TLS: point your `reverse-proxy-lab` Traefik/NPM at `http://<host>:8080`.

README 原文

- Change all `change-me-*` passwords before first `up`.

README 原文

- Do not expose MariaDB (no published 3306) or phpMyAdmin in production — removed by design.

README 原文
https://github.com/asadtahta95/laravel-prod-starter/blob/main/LICENSEhttps://github.com/asadtahta95/laravel-prod-starter/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
Laravel
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-30
截图检查日期
2026-10-14

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Laravel。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: e56da323271cd3c12eee1b632c8838fad5efe0d32b43db1fac97a704fd89f0a2

2026-10-14T05:02:47.059Z

来源文件 / 仓库
# Laravel Prod Starter

Production-ready **Laravel (PHP 8.3-FPM + Nginx + MariaDB 11 + Redis + queue + scheduler + backups)** in one Compose file. Upgrades the old `Docker_Compose_Laravel` (dev-only, hardcoded passwords, `latest` tags) into a deployable starter.

## Architecture

```
client -> web (nginx:1.27) -> app (php:8.3-fpm, extensions + opcache)
app -> db (mariadb:11.4, healthchecked volume) + redis:7 (AOF + password)
queue worker + scheduler run as separate containers from the same PHP image
backup runs on demand via compose profile "tools"
```

## Structure

```
laravel-prod-starter/
├── docker-compose.yml
├── .env.example
├── php/Dockerfile + opcache.ini
├── nginx/default.conf
├── src/                  # put your Laravel app here
├── scripts/deploy.sh     # composer install + migrate + caches
├── scripts/backup-db.sh  # timestamped mariadb-dump
└── Makefile
```

## Quick Installation (One Line setup)

```bash
git clone https://github.com/asadtahta95/laravel-prod-starter.git && cd laravel-prod-starter && make up
```

Then put your code in `./src` (or clone your app there), and deploy:

```bash
cp .env.example .env
vim .env   # set DB_PASS, DB_ROOT_PASS, REDIS_PASS
make up
make deploy
open http://localhost:8080
```

Backup and restore:

```bash
make backup
ls backups/
gunzip -c backups/full-YYYY-MM-DD-HHMM.sql.gz | docker compose exec -T db mariadb -uroot -p"$DB_ROOT_PASS"
```

Behind TLS: point your `reverse-proxy-lab` Traefik/NPM at `http://<host>:8080`.

## What changed from the old repo

1. **Pinned versions:** `mariadb:latest` + `phpmyadmin` + unpinned PHP -> `mariadb:11.4`, `php:8.3-fpm-alpine`, `nginx:1.27-alpine`, `redis:7-alpine`.
2. **No hardcoded secrets:** `testdock/passdock` in compose -> required `DB_PASS`/`DB_ROOT_PASS`/`REDIS_PASS` via `.env` (fail-fast `:?`).
3. **Portable volume:** absolute `/var/www/html` host mount -> relative `./src`.
4. **Removed `links` + `version`:** deprecated keys dropped; `depends_on` with `service_healthy` for MariaDB.
5. **Added prod pieces missing before:** opcache, queue worker, scheduler, Redis with password+AOF, healthcheck, backup sidecar, `deploy.sh`.
6. Added `Makefile`, `.env.example`, CI compose validation.

## Security notes

- Never commit `.env` or `backups/*.gz`.
- Change all `change-me-*` passwords before first `up`.
- Do not expose MariaDB (no published 3306) or phpMyAdmin in production — removed by design.

## License

MIT
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。