SkillAgentSearch skills...

Symfony Flex Backend

Symfony Flex REST API template project

Install / Use

npx skills add tarlepp/symfony-flex-backend

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

What is this?

<a id="what-is-this"></a>

MIT licensed CI Coverage Status Psalm coverage Scrutinizer Code Quality Code Intelligence Status Maintainability Sonarcloud Quality Gate Sonarcloud Vulnerabilities Sonarcloud Vulnerabilities Sonarcloud Vulnerabilities OpenSSF Scorecard

JSON REST API which is built on top of Symfony framework.

This application is meant to be used as an API that frontend applications or different backend applications can use as needed. One example frontend is this Angular template, though you can use any frontend solution.

Table of Contents

<a id="table-of-contents"></a>

Quick Start

<a id="quick-start"></a>

git clone https://github.com/tarlepp/symfony-flex-backend.git
cd symfony-flex-backend
make start

Then open https://localhost:8000 in your browser. For more details, see Installation.

Requirements

<a id="requirements"></a>

If you are not using Docker Engine, follow this.

Recommendations

<a id="recommendations"></a>

  • *nix platform - most likely you're going to host your application on *nix platform - so I would recommend to do development also on that platform.
  • WSL2 on Windows - if you develop on Windows, use WSL2 to get a Linux-like development environment for Docker and tooling.
  • Dev Container capable IDE - recommended for the quickest setup (e.g. VS Code or JetBrains IDEs with Dev Container support).
  • Makefile support - recommended if you run containers with Make commands; if you do not have make, check Makefile to see equivalent Docker commands.

Installation

<a id="installation"></a>

This installation guide expects that you're using Docker Engine.

1. Clone repository

<a id="1-clone-repository"></a>

Use your favorite IDE and check out the repository from GitHub, or use the following command:

git clone https://github.com/tarlepp/symfony-flex-backend.git

2. Start containers

<a id="2-start-containers"></a>

You can run this project either with Dev Containers (for example in VS Code or JetBrains IDEs) or with Make commands.

For Dev Containers, open this repository in your IDE and use its Dev Container workflow to reopen/start the project in a container (see Dev Containers section for details).

If you want to use Make commands instead, run the following command, which will start all the containers:

make start

If you want to start containers in the background, use the following command:

make daemon

These commands will create following containers to run this backend application:

  • php (this is for actual application)
  • nginx (this will serve application)
  • mariadb (MariaDB 10.7 which will store all the data of application)
  • dozzle (to see your docker container logs)
  • adminer (to manage your database via browser)

For next steps (application URLs, shell access, and rebuilding containers), see Running the application.

Running the application

<a id="running-the-application"></a>

These instructions are shared for both Make-based and Dev Container-based workflows.

Using application

<a id="using-application"></a>

When containers are running (either via Make commands or Dev Containers), following ports are exposed on localhost on your host machine:

And this application is usable in your browser at https://localhost:8000. When you open that site for the first time, you will see a "Your connection is not private" warning - see this to resolve that.

Another choice is to use http://localhost:8080, which does not use SSL.

MariaDB credentials:

user: root
password: password

Note: These credentials are for local development only and should never be used in production.

Getting shell to container

<a id="getting-shell-to-container"></a>

After you've started containers (make start / make daemon or via Dev Containers), you can list all running containers with docker ps.

To get shell (bash or fish) access inside one of those containers, run the following command:

make bash

or

make fish

If you are using Dev Containers, you can also use the IDE terminal that is already attached to the php container.

Building containers

<a id="building-containers"></a>

From time to time you probably need to build containers again. This is something that you should do every time if you have some problems getting containers up and running.

If you use Make commands, rebuild/start containers with:

make daemon-build

If you want to see container logs directly, use the following command:

make start-build

If you use Dev Containers, use your IDE's Dev Container rebuild action (for example, "Rebuild Container" / "Rebuild and Reopen in Container").

If you prefer CLI, you can rebuild with:

docker compose -f compose.yaml -f .devcontainer/docker-compose.devcontainer.yml build
docker compose -f compose.yaml -f .devcontainer/docker-compose.devcontainer.yml up -d php mariadb nginx dozzle adminer

Health check

<a id="health-check"></a>

To verify your setup is working correctly, you can check:

# Check container status
docker compose ps

# Test HTTP endpoint
curl -I http://localhost:8080

# Test HTTPS endpoint (ignore SSL warning)
curl -k -I https://localhost:8000

Alternatively, you can use Dozzle (container log viewer) to monitor all services:

  • Open http://localhost:8100 in your browser
  • View real-time logs for all running containers
  • Check container status and resource usage

Dev Containers

<a id="dev-containers"></a>

This project also includes a Dev C

Related Skills

View on GitHub
GitHub Stars289
CategoryDevelopment
Updated20m ago
Forks53

Languages

PHP

Security Score

100/100

Audited on Aug 8, 2026

No findings