Overlay Docker para Coolify: notificación de leads API sobre imagen pública Relaticle

FROM ghcr.io/relaticle/relaticle:latest + COPY de los 5 ficheros
custom (migration + Notification + Action + 2 Observers) que
implementan la notificación in-app/email a un team cuando se crea
una Company o People vía API con creation_source=API.

Se elige overlay en vez de fork completo para no perder las
mejoras de upstream en cada build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 22:34:42 -04:00
commit 5e146b8b60
6 changed files with 243 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# syntax=docker/dockerfile:1
#
# Overlay de Triptyk sobre la imagen pública de Relaticle.
# No es un fork: solo copia nuestros ficheros custom encima de
# ghcr.io/relaticle/relaticle:latest, así cada build trae las
# mejoras de upstream automáticamente. Si upstream toca alguno de
# estos ficheros de forma incompatible, el build fallará aquí
# (ruidoso, no silencioso) — ver issue rafa/triptyk-crm #(pendiente).
#
# Ficheros custom que vive este overlay:
# - migration: teams.notify_on_api_lead
# - Notifications/NewApiLeadNotification (mail)
# - Actions/Team/NotifyTeamOfNewApiLead (bell + mail al team)
# - Observers/CompanyObserver + PeopleObserver (created() -> notifica si creation_source=API)
FROM ghcr.io/relaticle/relaticle:latest
USER www-data
WORKDIR /var/www/html
COPY --chown=www-data:www-data database/migrations/2026_07_08_220000_add_notify_on_api_lead_to_teams_table.php ./database/migrations/
COPY --chown=www-data:www-data app/Notifications/NewApiLeadNotification.php ./app/Notifications/
COPY --chown=www-data:www-data app/Actions/Team/NotifyTeamOfNewApiLead.php ./app/Actions/Team/
COPY --chown=www-data:www-data app/Observers/CompanyObserver.php ./app/Observers/
COPY --chown=www-data:www-data app/Observers/PeopleObserver.php ./app/Observers/
# Los ficheros nuevos (Notification/Action) no están en el classmap
# optimizado que ya trae la imagen base -> hay que regenerarlo o
# Composer no los encontrará en producción.
RUN composer dump-autoload --optimize --no-dev --working-dir=/var/www/html