selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

FusionAuth logo

Self-host FusionAuth

1.70.0

CIAM platform for auth, authorization, and user management

ReleaseProprietaryProprietary
Updated2 hours ago
LanguageDockerfile
Setup difficultyModerate
ThemeDark mode
Stars
240
CPU
t3.medium (2 vCPU) for 10-20 logins/sec
RAM
512M minimum for FusionAuth app, 1-2GB for database, 1-2GB for Elasticsearch/OpenSearch
Storage
10-50GB for compute node, 10GB+ for database, 10GB+ for Elasticsearch/OpenSearch
Port
9011 (FusionAuth Admin UI and API)
Requires
PostgreSQL
Docker
fusionauth/fusionauth-app
Install with Docker

What is FusionAuth?

FusionAuth is a Customer Identity and Access Management (CIAM) platform that handles authentication, authorization, and user management for applications. It supports standards like OAuth2, OpenID Connect, SAML, and LDAP, along with modern features such as passkeys, WebAuthn, magic links, and breached password detection. The platform can be self-hosted using Docker, Docker Compose, or Kubernetes/Helm, requiring PostgreSQL and OpenSearch/Elasticsearch as dependencies. A free Community edition provides core authentication features, while paid plans (Starter, Essentials, Enterprise) unlock advanced security, connectivity, and support features. FusionAuth is developed by Inversoft, LLC (dba FusionAuth) and is proprietary software with a commercial license.

Should you self-host FusionAuth?

FusionAuth scores 49/100 on selfhost.directory (how scoring works) and ranks #23 of 40 in Authentication. It has 240 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Proprietary-licensed and written mostly in Dockerfile.

Its closest alternative on selfhost.directory is keycloak (86/100, 37 573 stars). It scores higher overall, so compare the two before you pick. See FusionAuth vs keycloak side by side.

Features

  • Advanced Threat DetectionEnterprise plan only
  • Breached Password DetectionPremium feature (Starter plan and above)
  • LDAP IntegrationPremium feature (Starter plan and above)
  • Magic Links
  • Multi-factor authentication (MFA)
  • OAuth2 / OpenID Connect provider
  • Passkeys (WebAuthn)
  • Passwordless Login
  • Role-based Access Control
  • SAML v2 IdP/SP
  • Session Management
  • Single Sign-On (SSO)
  • Social Login
  • User Registration
  • Webhooks

FusionAuth README

How to install FusionAuth

Install FusionAuth with Docker

Environment variables
DATABASE_URL, DATABASE_ROOT_USERNAME, DATABASE_ROOT_PASSWORD, DATABASE_USERNAME, DATABASE_PASSWORD, FUSIONAUTH_APP_MEMORY, FUSIONAUTH_APP_RUNTIME_MODE, FUSIONAUTH_APP_URL, SEARCH_SERVERS, SEARCH_TYPE

docker pull fusionauth/fusionauth-app:latest docker run -p 9011:9011 -e DATABASE_URL=... -e SEARCH_SERVERS=... fusionauth/fusionauth-app:latest

Requires external PostgreSQL and OpenSearch/Elasticsearch

How to configure FusionAuth

  • DATABASE_PASSWORDDatabase password for FusionAuth

    Database password for FusionAuth

  • DATABASE_ROOT_PASSWORDDatabase root password

    Database root password

  • DATABASE_ROOT_USERNAMEDatabase root username

    Database root username

  • DATABASE_URLjdbc:postgresql://db:5432/fusionauthJDBC URL for the database connection

    JDBC URL for the database connection

  • DATABASE_USERNAMEDatabase username for FusionAuth

    Database username for FusionAuth

  • FUSIONAUTH_APP_KICKSTART_FILEPath to kickstart configuration file

    Path to kickstart configuration file

  • FUSIONAUTH_APP_MEMORY512MMemory allocation for FusionAuth app

    Memory allocation for FusionAuth app

  • FUSIONAUTH_APP_RUNTIME_MODEdevelopmentRuntime mode (development/production)

    Runtime mode (development/production)

    values: development, production

  • FUSIONAUTH_APP_URLhttp://fusionauth:9011Base URL for FusionAuth

    Base URL for FusionAuth

  • OPENSEARCH_JAVA_OPTS-Xms512m -Xmx512mJava options for OpenSearch

    Java options for OpenSearch

  • POSTGRES_PASSWORDPostgreSQL password

    PostgreSQL password

  • POSTGRES_USERPostgreSQL username

    PostgreSQL username

  • SEARCH_SERVERShttp://search:9200Search engine servers (OpenSearch/Elasticsearch)

    Search engine servers (OpenSearch/Elasticsearch)

  • SEARCH_TYPEelasticsearchSearch engine type

    Search engine type

    values: elasticsearch, database

FAQ

Does FusionAuth offer SLAs for self-hosted deployments?

No, FusionAuth does not provide SLAs for self-hosted deployments. SLAs (up to 99.99%) are only available for FusionAuth HA Cloud with Enterprise license.

Can I modify the FusionAuth source code?

No, the fusionauth-app bundle and closed-source libraries cannot be decompiled, reverse engineered, or modified. Only Apache 2.0 licensed components (docs, client libraries, examples) can be modified.

Can I run FusionAuth in an air-gapped environment?

Yes, since version 1.26 FusionAuth supports air-gapped licensed deployments. License can be installed via UI or API. Breached password detection requires network access.

Is FusionAuth open source?

No, the core fusionauth-app is proprietary/closed source. However, documentation, client libraries, JWT library, MVC framework, and domain objects are open source under Apache 2.0.

Can I use FusionAuth for free?

Yes, the Community plan is free and unlimited for internal use or your web/mobile applications. Paid plans unlock premium features, support, and hosting.

What does the FusionAuth license apply to?

The FusionAuth license applies to the fusionauth-app bundle used by all installation methods. The fusionauth-search bundle is vanilla ElasticSearch under its own license. Client libraries and example apps are typically Apache 2.0.

More in User Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…