- Elixir 70.8%
- HTML 17.8%
- JavaScript 7.5%
- Liquid 2.1%
- SCSS 1.1%
- Other 0.7%
|
Some checks failed
test.yml / Rewrite README for vk / vmanne.com (keep AGPL attribution) (push) Failing after 0s
CI / test-cloud (push) Has been cancelled
CI / test-agplv3 (push) Has been cancelled
CI / test-with-extra (push) Has been cancelled
CI / Build and push Docker image (push) Has been cancelled
CI / Test (WITH_EXTRA=0, KEILA_CLOUD=0) (push) Has been cancelled
CI / Test (WITH_EXTRA=1, KEILA_CLOUD=0) (push) Has been cancelled
CI / Test (WITH_EXTRA=1, KEILA_CLOUD=1) (push) Has been cancelled
|
||
|---|---|---|
| .cla | ||
| .devcontainer | ||
| .github | ||
| .zed | ||
| assets | ||
| config | ||
| extra | ||
| lib | ||
| ops | ||
| priv | ||
| test | ||
| .dockerignore | ||
| .formatter.exs | ||
| .gitignore | ||
| .tool-versions | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| dprint.json | ||
| LICENSE.md | ||
| mix.exs | ||
| mix.lock | ||
| README.md | ||
| zizmor.yml | ||
vk — An Open Source Newsletter Tool
vk (email-sender) is a self-hosted newsletter and email-marketing tool operated by vmanne.com. It lets you manage subscriber lists, design newsletters, send campaigns, and track opens, clicks, bounces, and unsubscribes.
With vk you can easily send out newsletter campaigns and create sign-up forms. For sending, vk supports AWS SES and standard SMTP (including on-prem relays).
Features
- Contact lists, segments, and groups (CSV import supported)
- Visual, Markdown, and HTML email editors with reusable templates
- Campaign sending and scheduling
- Embeddable sign-up forms with double opt-in
- Per-recipient activity tracking: sent, opened, clicked, bounced, complaint, unsubscribed
- Flexible delivery via AWS SES or SMTP / on-prem relay
- All data stored in your own PostgreSQL database
Self-Hosting
vk is distributed as a Docker image and requires a PostgreSQL database.
A sample Docker Compose configuration is provided in
ops/docker-compose.yml.
Quick start
# Build the image from source
docker build -f ops/Dockerfile -t email-vk:latest .
# Start the app and database (see the compose file for configuration)
docker compose up -d
The application listens on port 4000 inside the container. Configure it with
environment variables (database URL, SMTP settings, secret key, etc.).
Key environment variables
| Variable | Purpose |
|---|---|
DB_URL |
PostgreSQL connection string |
SECRET_KEY_BASE |
Strong secret, at least 64 characters |
KEILA_USER / KEILA_PASSWORD |
Root admin user created on first start |
URL_HOST / URL_SCHEMA / URL_PORT |
Public URL settings |
MAILER_SMTP_HOST / MAILER_SMTP_USER / MAILER_SMTP_PASSWORD |
SMTP / SES delivery |
MAILER_SMTP_FROM_EMAIL |
From address |
USER_CONTENT_DIR |
Path for persisted user uploads |
Note: some internal configuration variables retain their original names for compatibility with the upstream codebase.
Version
Current version: 0.0.1
Attribution & License
vk is based on Keila, an open source newsletter tool, and is distributed under the same license.
vk is free software. You can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
vk is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
For more details about the AGPL, please read the full license here.
Because vk is derived from AGPL-3.0 licensed software, if you make vk available to other users over a network, you must also offer them the complete corresponding source code of your modified version.