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[],
    // 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

Create a page for your contact form. Add an "Other" embed section. Enter your Seance instance's URL:

https://contact.example.com/?dark=false

If you're using a dark theme you can change the dark parameter to true. Note that the dark mode may look weird in the editor. It will look better on the live site.

About

A self-hostable contact form for Ghost

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages