Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/gremo/symfony-docker


https://github.com/gremo/symfony-docker

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# Symfony Docker

A simple archive that provides a development and production container for Symfony applications based on Docker. Uses FrankenPHP, MariaDB, phpMyAdmin and Mailpit.

## 🚀 Quick start

1. Download the [**latest release**](https://github.com/gremo/symfony-docker/releases/download/latest/symfony-docker.zip) and unzip the archive.
2. Open Visual Studio Code and reopen the project in the **Dev Container**.
3. Download the **Symfony Skeleton**:
```bash
curl -O https://raw.githubusercontent.com/symfony/skeleton/refs/heads/7.1/composer.json
```
4. Add Dev Container **extensions dependencies**:
```bash
composer require --dev --no-update friendsofphp/php-cs-fixer phpstan/phpstan
```
5. Install **Symfony**:
```bash
composer install
```

> [!IMPORTANT]
> PHPStan **will fail** if the `tests` folder is missing and you haven't installed either the `webapp` or `symfony/test-pack` packages. To resolve this, you can either install these packages or modify the `phpstan.dist.neon` configuration file.

## ⚙️ Configuration

```yaml
# compose.yaml
services:
php:
build:
args:
# Set the FrankenPHP version (default latest).
FRANKENPHP_TAG: php8
# Install Node.js with npm and Yarn (default empty).
NODE_VERSION: current

db:
# Set the MariaDB version (default latest)
image: mariadb:latest
```

## 📡 Endpoints

> [!NOTE]
> In development, the database `app` is created and accessible by the user `app` with the password `!ChangeMe!` (same password for `root`). In production, you are forced to set the `DATABASE_URL` AND `MARIADB_*` variables in the `.env.prod.local` file.

| URL | Servizio |
|------------------------------------------------|-------------|
| [https://localhost](https://localhost) | App |
| [http://localhost:8080](http://localhost:8080) | phpMyAdmin |
| [http://localhost:8025](http://localhost:8025) | Mailpit |
| localhost:3306 | MariaDB |

## ❤️ Contributing

All types of contributions are encouraged and valued. See the [contributing](.github/CONTRIBUTING.md) guidelines, the community looks forward to your contributions!

## 📘 License

Released under the terms of the [ISC License](LICENSE).