From 7550dc84f35b7294f37d2e22499e974577864314 Mon Sep 17 00:00:00 2001 From: Mike Zukowski Date: Fri, 25 Nov 2022 20:03:34 +0100 Subject: [PATCH] projects/thumbgun #9 concurrent access article --- projects/thumbgun/Makefile | 8 ++++---- projects/thumbgun/_build/index.ejs | 15 +++++++++++++++ projects/thumbgun/index.html | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/projects/thumbgun/Makefile b/projects/thumbgun/Makefile index d300338d699f0..c25136f65701b 100644 --- a/projects/thumbgun/Makefile +++ b/projects/thumbgun/Makefile @@ -1,11 +1,11 @@ docker: - @docker-compose -f _build/docker-compose.yml up -d + @docker compose -f _build/docker-compose.yml up -d shell: - @docker-compose -f _build/docker-compose.yml exec npm sh + @docker compose -f _build/docker-compose.yml exec npm sh dev: - @docker-compose -f _build/docker-compose.yml exec -e NODE_ENV=development npm npm --prefix _build run build + @docker compose -f _build/docker-compose.yml exec -e NODE_ENV=development npm npm --prefix _build run build build: - @docker-compose -f _build/docker-compose.yml exec -e NODE_ENV=production npm npm --prefix _build run build + @docker compose -f _build/docker-compose.yml exec -e NODE_ENV=production npm npm --prefix _build run build diff --git a/projects/thumbgun/_build/index.ejs b/projects/thumbgun/_build/index.ejs index 4823df50e9513..1cb1463059bcb 100644 --- a/projects/thumbgun/_build/index.ejs +++ b/projects/thumbgun/_build/index.ejs @@ -157,6 +157,21 @@ +
+ +

diff --git a/projects/thumbgun/index.html b/projects/thumbgun/index.html index 18329883f1c3f..f4a73673be84f 100644 --- a/projects/thumbgun/index.html +++ b/projects/thumbgun/index.html @@ -1 +1 @@ -Symfony 6 Thumbgun PHP project

Thumbgun project

A story published on Medium about creating a fully functional, practical, Symfony 6 based application.


The requirements for the app:

  • be written in PHP8.1,
  • have few dependencies,
  • be open-sourced on GitHub,
  • have a GitHub actions pipeline to ensure quality,
  • be Dockerized for easy and quick developing,
  • cache generated thumbs locally to save bandwidth,
  • support multiple types on the output (JPEG + WEBP)
  • allow to clear the thumbnail cache en masse,
  • correctly handle concurrent access to the same image,
  • protect against unauthorized use,
  • be flexible enough to change from S3 to any other source if necessary.


The code is hosted on GitHub and is available for free under MIT license.

\ No newline at end of file +Symfony 6 Thumbgun PHP project

Thumbgun project

A story published on Medium about creating a fully functional, practical, Symfony 6 based application.


The requirements for the app:

  • be written in PHP8.1,
  • have few dependencies,
  • be open-sourced on GitHub,
  • have a GitHub actions pipeline to ensure quality,
  • be Dockerized for easy and quick developing,
  • cache generated thumbs locally to save bandwidth,
  • support multiple types on the output (JPEG + WEBP)
  • allow to clear the thumbnail cache en masse,
  • correctly handle concurrent access to the same image,
  • protect against unauthorized use,
  • be flexible enough to change from S3 to any other source if necessary.


The code is hosted on GitHub and is available for free under MIT license.

\ No newline at end of file