An open API service indexing awesome lists of open source software.

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-контейнера.

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/