https://github.com/kublahanov/php83-sandbox
Шаблон для разработки проектов на PHP 8.3 + composer внутри Docker-контейнера.
https://github.com/kublahanov/php83-sandbox
docker php83 sandbox
Last synced: 26 days ago
JSON representation
Шаблон для разработки проектов на PHP 8.3 + composer внутри Docker-контейнера.
- Host: GitHub
- URL: https://github.com/kublahanov/php83-sandbox
- Owner: kublahanov
- License: mit
- Created: 2025-07-17T19:05:59.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-12-01T20:02:11.000Z (3 months ago)
- Last Synced: 2026-02-09T16:39:21.738Z (about 1 month ago)
- Topics: docker, php83, sandbox
- Language: PHP
- Homepage: https://kublahanov.github.io/php83-sandbox
- Size: 440 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# php83-sandbox
Шаблон для начальной настройки / разработки проектов на **PHP 8.3** внутри Docker-контейнера.
Вам не потребуется устанавливать программное обеспечение, необходимое для разработки серверной части на локальной машине.
Всё что нужно - это наличие установленного **Git** и **Docker**.
## Список контейнеров
- Контейнер для разработки серверного приложения: **PHP 8.3** + **Composer**, **Git**, **Curl** и т. д. (≈ 741**MB**).
- Контейнер с БД **PostgreSQL 15** (≈ 279**MB**).
- Контейнер с веб-сервером **Caddy** (≈ 49.1**MB**).
Суммарный вес стека ≈ 1**GB**.
## Как использовать
**1**. Склонируйте репозиторий и перейдите в папку проекта.
```bash
git clone git@github.com:kublahanov/php83-sandbox.git
cd php83-sandbox
```
В папке .local есть несколько полезных скриптов для управления проектом.
- **start_local.sh** - скрипт для сборки и запуска контейнеров.
- **stop_local.sh** - скрипт для остановки и удаления контейнеров.
- **stop_local_minus_v.sh** - скрипт для остановки и удаления контейнеров и томов.
- **remove_images.sh** - скрипт для удаления всех созданных в проекте Docker-образов.
- **remove_volumes.sh** - скрипт для удаления всех созданных в проекте Docker-томов.
- **chown.sh** - скрипт для изменения владельца и группы всех файлов в проекте на текущего пользователя и группу.
**2**. Запустите контейнеры c помощью скрипта "start_local.sh".
Перед запуском контейнеров, в папке .local нужно установить необходимые права на исполняемые скрипты:
```bash
sudo chown -R $USER:$USER ./.local
chmod +x ./.local/*.sh
```
Если обе команды выполнились успешно - можно запустить контейнеры следующей командой:
```bash
./.local/start_local.sh
```
**3**. В случае успешного запуска контейнеров, вы можете проверить их статус.
Например, работоспособность PHP:
```bash
docker exec php83_sandbox_app php -v
```
**4**. Далее вы можете приступить к первичной настройке вашего PHP-приложения.
- Ваш проект должен находиться в папке `src`.
- Веб-сервер Caddy будет обслуживать ваш проект по адресу `https://localhost`.
- Внимание! После настройки проекта (и подбора необходимой для него конфигурации docker-compose.yml) - перенесите его в отдельный Git-репозиторий. Содержимое, и все изменения в папке **src** в текущем Git-репозитории не фиксируются, т. к. в соответствии с назначением проекта - это только песочница для первичной настройки.
## Для разработчиков в среде Windows
Есть два основных способа запуска Docker‑окружения:
- **Docker Desktop** + **WSL2** (рекомендуемый вариант): обеспечивает лучшую производительность и совместимость с Linux‑контейнерами.
- **Docker Desktop** на Windows (без WSL): может вызывать проблемы с правами файлов и символическими ссылками.
**Совет:** Если вы только начинаете, установите **WSL2** и используйте его - это минимизирует проблемы с правами и производительностью.
## Ссылки на необходимые дистрибутивы (Git, Docker)
- https://git-scm.com/
- https://docs.docker.com/desktop/