xupisco build of Plunk (AGPL-3.0): Keycloak login, per-service start commands. Upstream: github.com/useplunk/plunk
  • TypeScript 94.1%
  • MDX 4.7%
  • Shell 0.4%
  • CSS 0.3%
  • Dockerfile 0.3%
  • Other 0.2%
Find a file
idp-bot eec4febc51
All checks were successful
Pipelines as Code CI / plunk-image Success
run-service web: clear positional args before sourcing replace-urls-optimized.sh
The helper executes replace_urls_in_app "$1" "$2" when $1 is set; sourced from run-service.sh it saw this
script's own argument, ran with an empty app dir and failed writing /.env (CrashLoopBackOff on xupisco-idp).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 08:59:45 +01:00
.github fix: Move Minio from Docker Hub to Quay 2026-09-14 17:28:59 +02:00
.tekton CI: build the image with Tekton (Pipelines-as-Code) into the Forgejo registry 2026-09-29 23:50:12 +01:00
.yarn/releases Initial push of Plunk Next 2025-12-01 10:00:25 +01:00
apps SES webhook: accept only allowed SNS topics (SNS_ALLOWED_TOPIC_ARNS) 2026-09-30 01:46:10 +01:00
docker run-service web: clear positional args before sourcing replace-urls-optimized.sh 2026-09-30 08:59:45 +01:00
packages Add KEYCLOAK to AuthMethod 2026-09-29 23:44:15 +01:00
test feat: Add optional rate limiting for track, send and contact endpoints 2026-08-13 19:03:55 +02:00
.ci-trigger ci: trigger the first image build (amorimdub/idp#45) 2026-09-30 00:02:01 +00:00
.dockerignore fix: .dockerignore excludes nested build outputs (apps/*/dist, .next, .turbo, etc.) 2026-05-13 20:59:02 +02:00
.env.self-host.example feat: Add sponsor link in navbar 2026-09-06 10:40:16 +02:00
.eslintrc.js Initial push of Plunk Next 2025-12-01 10:00:25 +01:00
.gitignore Improvements to package versioning, dependencies, etc 2025-12-06 08:16:47 +01:00
.prettierrc Initial push of Plunk Next 2025-12-01 10:00:25 +01:00
.release-please-manifest.json chore(next): release 0.15.0 2026-09-20 10:34:11 +00:00
.yarnrc.yml fix: added missing services:down script, added "win32" to supportedArchitectures for yarn package installation, added missing required WIKI_URI to .env.example of api 2026-01-12 11:07:53 +05:30
CHANGELOG.md chore(next): release 0.15.0 2026-09-20 10:34:11 +00:00
CLAUDE.md docs: add env-var sync rule to CLAUDE.md 2026-05-24 12:56:23 +02:00
CONTRIBUTING.md fix: update old references to next.useplunk.com 2026-03-11 15:11:13 +01:00
docker-compose.yml Add Keycloak settings and KEYCLOAK_ONLY password lockdown 2026-09-29 23:44:46 +01:00
docker-entrypoint-nginx.sh Entrypoint: SERVICE=api|worker|web|migrate run one process (no nginx, no PM2) 2026-09-29 23:49:33 +01:00
Dockerfile Dockerfile: build only api, worker and web (skip landing and wiki) 2026-09-30 01:50:45 +01:00
LICENSE Added AGPL v3 2024-08-01 14:45:00 +02:00
package.json chore(next): release 0.15.0 2026-09-20 10:34:11 +00:00
PRODUCT.md refactor(web): rewrite UX copy for clarity and consistency 2026-08-10 20:54:02 +02:00
README.md docs: update README to clarify self-hosted alternative and add inbound emails feature 2026-05-04 21:15:54 +02:00
release-please-config.json Initial push of Plunk Next 2025-12-01 09:56:56 +01:00
turbo.json fix: add new configuration options for phishing detection thresholds 2026-04-22 13:59:41 +02:00
vitest.config.ts tests: Correct test setup for MCP 2026-08-17 19:24:05 +02:00
XUPISCO.md Dockerfile: build only api, worker and web (skip landing and wiki) 2026-09-30 01:50:45 +01:00
yarn.lock deps: Upgrade all tiptap dependencies to align with core 2026-09-06 10:14:28 +02:00

card.png

Plunk

The Open-Source Email Platform

Contributors Build Status License Stars Issues Forks Docker Sponsor Documentation Discord

Introduction

Transactional emails, marketing campaigns, and workflow automation — in one platform. Self-hostable, $0.001 per email, no contact limits.

An open-source, self-hosted alternative to tools SendGrid, Resend or Mailgun.

Features

  • Transactional Emails: Send emails straight from your API with template support and variable substitution
  • SMTP: Use Plunk as an SMTP relay to send emails from any existing tool or framework
  • Campaigns: Send newsletters and product updates to large audiences
  • Workflows: Create advanced automations with triggers, delays, and conditional logic
  • Segments: Organize contacts with dynamic filtering and target the right audience
  • Contact Management: Manage contacts with custom fields and full activity history
  • Analytics: Track opens, clicks, bounces, and engagement metrics in real-time
  • Custom Domains: Verify and send from your own domains with DKIM/SPF support
  • Inbound Emails: Receive and process incoming emails with custom routing rules

Sponsors

Plunk is made possible by the support of our sponsors. If you self-host Plunk, consider supporting via GitHub Sponsors.

Self-hosting Plunk

The easiest way to self-host Plunk is by using the plunk Docker image. You can pull the latest image from Github.

A complete guide on how to deploy Plunk can be found in the documentation.

Community

Contributing

You are welcome to contribute to Plunk. You can find a guide on how to contribute in CONTRIBUTING.md.

Contributors

License

AGPL-3.0 License - see LICENSE for details.