Skip to content

feat: add Waxum template - #1074

Merged
Siumauricio merged 2 commits into
Dokploy:canaryfrom
fdciabdul:add-waxum-template
Aug 9, 2026
Merged

feat: add Waxum template#1074
Siumauricio merged 2 commits into
Dokploy:canaryfrom
fdciabdul:add-waxum-template

Conversation

@fdciabdul

Copy link
Copy Markdown
Contributor

Summary

Adds Waxum — a WhatsApp REST API gateway written in Rust — as a new Dokploy template.

  • Single native binary, single service, no external DB dependency (defaults to SQLite, persisted on the waxum_data volume alongside WhatsApp session state).
  • Auth via SUPERADMIN_TOKEN, generated with the ${password:32} helper.
  • Exposes port 3451 behind the template's generated domain.
  • Official prebuilt image: fdciabdul/waxum:0.11.5 (pinned, matches the current GitHub release).

Test plan

  • node build-scripts/generate-meta.js --check passes (511 templates validated, including this one).
  • Verified image tag fdciabdul/waxum:0.11.5 exists on Docker Hub.
  • Verified SUPERADMIN_TOKEN / PORT env var names and the SQLite default (no DATABASE_URL required) directly against the waxum source.
  • Will test via the PR preview link's base64 import per CONTRIBUTING.md once the preview deploys.

@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. new-template labels Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 88d3fa4

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 59568d5c38

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- 3451
environment:
- SUPERADMIN_TOKEN=${SUPERADMIN_TOKEN}
- WHATSAPP_STORAGE_PATH=/app/whatsapp_sessions

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Persist Waxum's SQLite database in the mounted volume

When this template runs without DATABASE_URL/SQLITE_PATH, Waxum defaults its embedded SQLite database to ./waxum.db under /app, while this compose file only mounts /app/whatsapp_sessions. On a Dokploy redeploy or container recreation, the session files survive but the database-backed state such as sessions metadata, webhooks, message history, scheduled/blast jobs, and console state is lost; set the SQLite path inside the mounted volume or add a volume for the DB as well.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch on the underlying concern, though the premise is slightly off: waxum's SQLite default doesn't resolve to /app/waxum.db — it joins WHATSAPP_STORAGE_PATH (source: src/db/mod.rs), which this template already points at the mounted volume, so it was already persisted. Made it explicit anyway in 88d3fa4 with SQLITE_PATH=/app/whatsapp_sessions/waxum.db so it's no longer implicit/undocumented behavior.

Waxum's default SQLite path already resolves inside
WHATSAPP_STORAGE_PATH, so this was already persisted, but make it
explicit so it doesn't depend on undocumented default derivation
surviving a redeploy.

Addresses: Dokploy#1074 (review)
@fdciabdul

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Siumauricio

Copy link
Copy Markdown
Contributor

Tested this end-to-end on a live Dokploy instance — everything checks out. ✅

Legitimacy

  • imtaqin/waxum is a real, actively developed project: created Dec 2025, Rust codebase, ~30 releases with a steady cadence, 65 merged PRs, commits up to this week, 100★ / 22 forks accumulated organically over months.
  • PR author @fdciabdul is the upstream author himself (249 commits on the repo, member of @imtaqin), GitHub account since 2017.
  • Image fdciabdul/waxum:0.11.5 is public on Docker Hub (manifest pulls without auth, ~3.3k pulls), pinned to the tag matching the GitHub release, and the upstream repo carries the Dockerfile it's built from.

Template conventions

  • No container_name, no host port bindings (expose only), no manual network wiring, pinned image, named volume for session + SQLite state. ✔️
  • meta.json id matches the folder, logo present, node build-scripts/generate-meta.js --check passes (511 templates validated).
  • Port 3451 and SUPERADMIN_TOKEN verified against the upstream source/README.

Deploy test (real instance)

  • Imported via base64 + deployed: composeStatus: done, container Up (healthy).
  • Through the generated Traefik domain:
    • GET /303/login200 "Sign in — Waxum Console"
    • GET /health200 OK
    • GET /swagger-ui (no token) → 401 {"error":"Unauthorized",...} — auth working as intended

LGTM — ready to merge.

@Siumauricio
Siumauricio merged commit c4398d2 into Dokploy:canary Aug 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-template size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants