Fix content and URL in README

This commit is contained in:
khalid@traclabs.com
2026-04-22 23:52:29 -05:00
parent 6aa4288821
commit 86476115df
4 changed files with 36 additions and 2 deletions

View File

@@ -24,10 +24,14 @@ COPY --from=base /app/dist ./dist
COPY --from=base /app/package.json ./
COPY --from=base /app/site-context.json ./
COPY --from=base /app/content ./content
COPY --from=base /app/content ./content-seed
COPY --from=base /app/config ./config
COPY --from=base /app/server/entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
ENV HOST=0.0.0.0
ENV PORT=4321
EXPOSE 4321
ENTRYPOINT ["/app/entrypoint.sh"]
CMD ["node", "dist/server/entry.mjs"]

View File

@@ -81,8 +81,8 @@ See `.env.example` for all options.
### Vonage Setup
1. Create a Vonage application in the Dashboard with Messages capability enabled.
2. Set the inbound message webhook URL to `https://dynamicsites.kadil.dev/webhooks/inbound` (POST).
3. Set the status webhook URL to `https://dynamicsites.kadil.dev/webhooks/status` (POST).
2. Set the inbound message webhook URL to `https://smsapi.kadil.dev/webhooks/inbound` (POST).
3. Set the status webhook URL to `https://smsapi.kadil.dev/webhooks/status` (POST).
4. Under API Settings, ensure Messages API is set as the default for SMS.
5. Copy the generated `private.key` to the project root.
6. Note your signature secret from Dashboard → API Settings for webhook verification.

View File

@@ -15,13 +15,24 @@ RUN npm rebuild better-sqlite3
COPY shared ./shared
COPY server ./server
COPY site-context.json ./
# Copy content twice:
# /app/content — the live directory (will be overlaid by a volume mount)
# /app/content-seed — preserved in the image, used to seed empty volumes
COPY content ./content
COPY content ./content-seed
COPY config ./config
# Entrypoint seeds the volume on first deploy
COPY server/entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
WORKDIR /app/server
ENV NODE_ENV=production
ENV REPO_ROOT=/app
EXPOSE 3001
ENTRYPOINT ["/app/entrypoint.sh"]
CMD ["npx", "tsx", "src/index.ts"]

19
server/entrypoint.sh Normal file
View File

@@ -0,0 +1,19 @@
#!/bin/sh
set -e
# Seed content into the volume if it's empty (first deploy).
# The Dockerfile copies seed content to /app/content-seed.
# The volume is mounted at /app/content and starts empty.
SEED_DIR="/app/content-seed"
CONTENT_DIR="/app/content"
if [ -d "$SEED_DIR" ] && [ -d "$CONTENT_DIR" ]; then
# Check if sections directory is missing or empty
if [ ! -d "$CONTENT_DIR/sections" ] || [ -z "$(ls -A "$CONTENT_DIR/sections" 2>/dev/null)" ]; then
echo "Seeding content from $SEED_DIR into $CONTENT_DIR..."
cp -rn "$SEED_DIR/"* "$CONTENT_DIR/" 2>/dev/null || true
echo "Content seeded."
fi
fi
exec "$@"