fix: quitar el VOLUME anónimo que borraba la base en cada despliegue
`VOLUME /app/data` hacía que Docker fabricara un volumen anónimo en cada arranque, y Coolify los purga al recrear el contenedor. Cada despliegue estrenaba una base vacía que `ensureSeed()` volvía a sembrar: se perdían las citas, los clientes y todo lo configurado desde Ajustes, en silencio y sin error. Verificado en el host: el volumen montado era 991d42df… y el día anterior era 3cff8c0d…, y no queda ningún volumen huérfano con agendapro.db — los anteriores fueron destruidos. La base se creaba un minuto después del contenedor. La persistencia la aporta ahora un volumen con nombre declarado como Persistent Storage en Coolify y montado en /app/data, precargado con un snapshot consistente de la base actual (155 citas, 15 clientes, 8 usuarios, integrity_check ok). Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
521c206ba7
commit
4f566ddde7
+12
-2
@@ -43,9 +43,19 @@ COPY server ./server
|
|||||||
COPY shared ./shared
|
COPY shared ./shared
|
||||||
COPY tsconfig.json ./
|
COPY tsconfig.json ./
|
||||||
|
|
||||||
# Persistent SQLite data
|
# Persistent SQLite data.
|
||||||
|
#
|
||||||
|
# NO declares `VOLUME /app/data` aquí. Esa instrucción hace que Docker fabrique un
|
||||||
|
# volumen ANÓNIMO en cada arranque, y Coolify los purga al recrear el contenedor:
|
||||||
|
# cada despliegue estrenaba base vacía y `ensureSeed()` la resembraba, así que se
|
||||||
|
# perdían las citas, los clientes y todo lo configurado en Ajustes. Se verificó
|
||||||
|
# comparando el nombre del volumen entre despliegues — cambiaba cada vez.
|
||||||
|
#
|
||||||
|
# La persistencia la aporta el almacenamiento con nombre declarado en Coolify
|
||||||
|
# (`s30f7egdlkx4wyjp59o1iunc-agendamax-data` montado en /app/data), que sobrevive a
|
||||||
|
# la recreación del contenedor. Si algún día se despliega en otro sitio, hay que
|
||||||
|
# declarar allí un volumen equivalente: sin él la base es efímera.
|
||||||
RUN mkdir -p /app/data
|
RUN mkdir -p /app/data
|
||||||
VOLUME /app/data
|
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
CMD ["npx", "tsx", "server/index.ts"]
|
CMD ["npx", "tsx", "server/index.ts"]
|
||||||
|
|||||||
Reference in New Issue
Block a user