ClearFlask is a free, open source collaboration & feedback project written in Java and released under Apache-2.0. It has 451 GitHub stars, 45 forks and 0 open issues, and was last pushed 6 days ago. On this registry it ranks #19 of 20 tracked projects in Collaboration & Feedback, with 5 head-to-head comparisons available.

What is ClearFlask?

ClearFlask is an open-source, Apache-2.0 licensed feedback management and ideation tool for product teams that want to collect user requests, run voting, and publish a roadmap on infrastructure they control.

What it is

ClearFlask is a self-hostable product feedback tool written in Java, filed here under Community & Social, Collaboration & Feedback. It covers the ideation loop around product development: users submit requests, vote, and discuss them, and the team turns the result into a public roadmap. The README describes it as an open-source feedback management tool and positions it as an alternative to Canny and UserVoice. The repository has 451 stars and 45 forks, with the last push on 11 September 2026.

The concrete problem is ownership. Commercial feedback boards combine hosting, the store of customer requests, and the pricing into one subscription, and leave the customer no say over where that content lives. ClearFlask replaces that with software you run: an API server and an SSR frontend on top of a database you choose. Search, object storage, key-value storage, and mail transport are all swappable dependencies, which is what matters for teams whose feedback data cannot leave their own infrastructure.

Key capabilities

  • Docker Compose quick start from clearflask-release/src/main/docker/compose/docker-compose.self-host.yml, started with docker-compose --profile with-deps up and persisting database content to a local data folder.
  • Production-ready Helm charts at https://clearflask.github.io/clearflask, installing clearflask/clearflask after the clearflask/clearflask-dependencies chart.
  • Swappable storage: MinIO or AWS S3 for objects and AWS DynamoDB or Localstack for key-value, with ScyllaDB noted as not fully compatible.
  • Swappable search and relational backends: MySQL or Aurora, or ElasticSearch or OpenSearch, selected with server.config.searchEngine=READWRITE_MYSQL.
  • Migration between Elasticsearch and MySQL is documented, so the search choice is reversible.
  • Email over SMTP or AWS SES, plus optional Google ReCaptcha, Let's Encrypt certificate management, and CloudFront as a CDN in front of clearflask-connect.

Who uses it and how

  • Product teams that want a public voting board and roadmap on their own domain, using the documented DNS and SSL/TLS certificate setup.
  • Small teams that need a running instance without a custom domain, deployed one-click on Railway as a self-contained API server, SSR frontend, and MariaDB.
  • Kubernetes operators running the Helm charts with MySQL/MariaDB for search and filtering, on 20Gi of persistent storage by default.
  • Teams evaluating locally, bringing up the full stack with the with-deps profile and signing in as admin@localhost.

Getting started

Save clearflask-release/src/main/docker/compose/docker-compose.self-host.yml as docker-compose.yml and run docker-compose --profile with-deps up, then open http://localhost. A one-click Railway deploy and Helm charts are documented alternatives.

How it compares

ClearFlask covers the same ground as Canny and UserVoice but ships under Apache-2.0 instead of a commercial subscription, and can be self-hosted rather than only rented. Data ownership moves to the operator, since feedback, votes, and the roadmap live in a MySQL, Aurora, ElasticSearch, or OpenSearch instance the team controls. Managed hosting with scalable pricing is offered for teams that would rather not run it themselves.

When to use it — and when not to

A self-hoster must run real infrastructure: a MySQL/Aurora or ElasticSearch/OpenSearch backend, object storage such as MinIO or S3, and an SMTP or SES mail path, plus DNS and certificates for a custom domain. Teams wanting a zero-ops feedback board should take the managed hosting or stay with a commercial product. The facts available describe deployment and configuration rather than release history, so check the repository for current release status before committing.

project readme (upstream, from github) — read inline


Build Status GitHub release License

Open-source Feedback Management Tool.
Alternative to Canny and UserVoice.





Contents

Managed Hosting

Support our open-source development by choosing cloud hosting with scalable pricing, check us out on our website.

Self Hosting

One-click deploy

Deploy a self-contained instance (API server, SSR frontend, MariaDB) in a few clicks — no custom domain required, it works entirely on your generated domain:

Deploy on Railway

Quick start

For a quick start using Docker, download the Docker Compose service file as docker-compose.yml, and run the following:

docker-compose --profile with-deps up

Point your browser at http://localhost and create an account using email admin@localhost.

You also want to setup outgoing mail, read the Email section.

If you wish to host it on your domain other than localhost, read the DNS section and then setup SSL/TLS certificates.

Kubernetes deployment

For self-hosting, we provide Kubernetes Helm charts.

Installation

  1. Add the Helm repository:
helm repo add clearflask https://clearflask.github.io/clearflask
helm repo update
  1. Install dependencies (MySQL + LocalStack):
helm install clearflask-deps clearflask/clearflask-dependencies \
  --set mysql.enabled=true \
  --set localstack.enabled=true
  1. Generate secrets and install ClearFlask:
TOKEN_SIGNER=$(openssl rand -base64 172 | tr -d '\n')
CURSOR_KEY=$(openssl rand -base64 16)
SSO_SECRET=$(uuidgen)
CONNECT_TOKEN=$(uuidgen)

helm install clearflask clearflask/clearflask \
  --set global.domain=yourdomain.com \
  --set server.config.searchEngine=READWRITE_MYSQL \
  --set server.secrets.tokenSignerPrivKey="$TOKEN_SIGNER" \
  --set server.secrets.cursorSharedKey="$CURSOR_KEY" \
  --set server.secrets.ssoSecretKey="$SSO_SECRET" \
  --set server.secrets.connectToken="$CONNECT_TOKEN"
  1. Access your instance:
kubectl port-forward svc/clearflask-connect 3000:80
# Visit http://localhost:3000

See the Helm Chart documentation for more information.

Replace dependencies

There are several dependencies that you can swap out for ClearFlask:

  • AWS DynamoDB or Localstack or API-compatible alternative (ScyllaDB is not fully compatible)
  • MinIO or AWS S3 or API-compatible alternative
  • One of:
    • MySQL or Aurora
    • ElasticSearch or OpenSearch
  • Email service via SMTP or AWS SES

And a few optional:

  • Google ReCaptcha
  • Let's Encrypt automagic certificate management
  • CloudFront as a CDN (Use in front of clearflask-connect)

Via Docker

You can spin up all dependencies via Docker.

Simply add the --profile with-deps to your docker-compose command when starting ClearFlask.

All database content will be persisted to local filesystem under data folder.

Via Kubernetes

Production-ready Helm charts are available:

helm repo add clearflask https://clearflask.github.io/clearflask
helm repo update

helm install clearflask-deps clearflask/clearflask-dependencies \
  --set mysql.enabled=true \
  --set localstack.enabled=true

This deploys:

  • MySQL/MariaDB for search and filtering with persistent storage (20Gi default)
  • LocalStack for DynamoDB, S3, and SES emulation with persistent storage (10Gi default)
  • ElasticSearch (optional) for advanced search with persistent storage (50Gi default)

All databases are persistent by default using PersistentVolumeClaims. See the Helm Chart documentation for configuration options.

Via AWS

For production workload, you will want to spin up these dependencies yourself and point ClearFlask to their endpoints.

IAM access

For AWS services, clearflask-server auto-detects Access Keys using either a configuration property or the default locations. If you are running in EC2 or ECS, keys detection is automated, you just need to create the appropriate IAM role.

AWS DynamoDB

Provide IAM access including create table permission as table is created automatically by ClearFlask on startup.

IAM actions:

  • CreateTable
  • BatchGetItem
  • GetItem
  • Query
  • BatchWriteItem
  • DeleteItem
  • PutItem
  • UpdateItem
AWS S3

Create a private bucket with IAM access to ClearFlask.

IAM actions:

  • ListBucket
  • GetObject
  • DeleteObject
  • PutObject

You can also use an API-compatible alternative service such as Wasabi, MinIO...

ElasticSearch or MySQL

Recommended is AWS ES, give the proper IAM access

IAM actions, all in these categories:

  • List
  • Read
  • Write
  • Tagging

Alternatively you can deploy it yourself (cheaper) or host it on Elastic. Or you can choose to use MySQL/Aurora as a cheaper alternative.

AWS SES

In order to setup SES, you need to seek limit increase via AWS support.

Change the config property ...EmailServiceImpl$Config.useService to ses and give the proper IAM access.

IAM actions:

  • SendEmail
  • SendRawEmail

Alternatively use any other email provider and fill out the SMTP settings

Deploy ClearFlask

ClearFlask consists of two components:

  • clearflask-server: Tomcat application for serving API requests
  • clearflask-connect: NodeJS for SSR, dynamic cert management and serving static files

Via Kubernetes (Recommended for Production)

No build required - uses pre-built Docker images.

# Add Helm repository
helm repo add clearflask https://clearflask.github.io/clearflask
helm repo update

# Generate required secrets
TOKEN_SIGNER=$(openssl rand -base64 172 | tr -d '\n')
CURSOR_KEY=$(openssl rand -base64 16)
SSO_SECRET=$(uuidgen)
CONNECT_TOKEN=$(uuidgen)

# Install ClearFlask
helm install clearflask clearflask/clearflask \
  --set global.domain=yourdomain.com \
  --set server.config.searchEngine=READWRITE_MYSQL \
  --set server.secrets.tokenSignerPrivKey="$TOKEN_SIGNER" \
  --set server.secrets.cursorSharedKey="$CURSOR_KEY" \
  --set server.secrets.ssoSecretKey="$SSO_SECRET" \
  --set server.secrets.connectToken="$CONNECT_TOKEN"

Features:

  • Horizontal Pod Aut

readme truncated — read the full docs on github

Frequently asked questions

Is ClearFlask free to use?

ClearFlask is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does ClearFlask do?

Open-source ideation tool for product feedback management

What is ClearFlask written in?

ClearFlask is primarily written in Java. Its source is publicly available at https://github.com/clearflask/clearflask, and it has 451 GitHub stars.