Skip to content

Repository files navigation

Seance for Ghost

GitHub Actions Workflow Status GitHub code size in bytes GitHub Release GitHub Release Date Docker Pulls GitHub License

Seance for Ghost

Self-hostable contact form service for Ghost blogs. Or any other applications you can think of. The limit is in your mind.

Add a contact form to your Ghost site without a subscription! Supports captchas from Cap, reCAPTCHA and hCaptcha.

Seance embedded in a Ghost page

Install and run

npm install
npm run build

To run:

npm run start

A docker image ghcr.io/corysanin/seance is provided. A list of tags is available here. See docker-compose.yml.

Configuration

Seance takes a JSON or JSON5 config file (default location is config/config.json5):

{
    // The port the web server will run on (default 8080)
    "port": number,
    // URL prefix, for example: '/seance'
    // Useful for using reverse proxy to use a single domain
    "prefix": string
    // Array of hosts allowed to embed the contact form.
    // Default is to allow all (not recommended)
    "allowedHosts": string[],
    // Preferred locale for email contents
    // Obviously won't translate an email or anything, but certain boilerplate can be localized
    // default is "en"
    "backendLang": string,
    // If using reCAPTCHA, provide the site key
    "recaptchaKey": string,
    // If using reCAPTCHA, provide the site secret
    "recaptchaSecret": string,
    // If using hCaptcha, provide the site key
    "hCaptchaKey": string,
    // If using hCaptcha, provide the account secret
    "hCaptchaSecret": string,
    // If using Cap, provide the site key
    "capKey": string,
    // If using Cap, provide the site secret
    "capSecret": string,
    // If using Cap, provide the instance hostname
    "capInstance": string,
    // If using Cap, provide the public instance hostname (if different from capInstance)
    "capInstancePublic": string,
    // The Nodemailer transport configuration. See https://nodemailer.com/smtp/
    "smtp": SMTPTransport | SMTPTransport.Options,
    // The address to send emails from. Defaults to the smtp username
    "senderAddress": string,
    // The address to send emails to
    "recipientAddress": string,
    // The subject prefix for all mail sent using this form. Default is "Form submission"
    "subject": string,
    // Options for express-rate-limit
    "limiter": LimiterOptions
}

Ghost Installation

Navigate to where Seance is hosted and copy the HTML embed snippet. In Ghost, Create a page for your contact form. Add an "HTML" card and paste the snippet.

About

A self-hostable contact form for Ghost

Topics

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages