Docker Compose
Use the following Docker Compose commands to get up and running quickly with FusionAuth, PostgreSQL, and Opensearch:
-
Install the prerequisites:
- On macOS and Windows, one of the following container management tools:
- Docker desktop
- OrbStack (to use Orbstack for
docker composecommands after install, rundocker context use orbstack) - Podman (in the commands below, replace
dockerwithpodman)
- On Linux, Docker 23 or later
- On macOS and Windows, one of the following container management tools:
-
Download the
docker-compose.ymland.envfiles:curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/docker-compose.yml > docker-compose.yml && \ curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/.env > .envcurl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/docker-compose.yml > docker-compose.yml && \ curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/.env > .envInvoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/docker-compose.yml -OutFile docker-compose.yml Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/FusionAuth/fusionauth-containers/main/docker/fusionauth/.env -OutFile .env -
Start the FusionAuth container:
docker compose up -d -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Docker
Use the following Docker commands to start just FusionAuth without a database. You'll need to install and configure a database manually.
-
Install the FusionAuth Docker container:
docker pull fusionauth/fusionauth-app -
Start the Docker container:
docker run -it -p 9011:9011 --add-host host.docker.internal:host-gateway { kickstartEnabled && "-e FUSIONAUTH_APP_KICKSTART_FILE=\"/usr/local/fusionauth/kickstart/kickstart.json\" --mount type=bind,src=./kickstart,dst=/usr/local/fusionauth/kickstart " }fusionauth/fusionauth-app -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
FusionAuth CLI
Use the following commands to create a new instance of FusionAuth, complete with all the dependencies you need to run it:
-
Install the prerequisites:
- On macOS and Windows, one of the following container management tools:
- Docker desktop
- OrbStack (to use Orbstack for
docker composecommands after install, rundocker context use orbstack) - Podman (in the commands below, replace
dockerwithpodman)
- On Linux, Docker 23 or later
- On macOS and Windows, one of the following container management tools:
-
Install the FusionAuth CLI:
npm install @fusionauth/cli -
Run the following command to create a Docker container that contains a FusionAuth instance, a database, an API key, and an application:
npx fusionauth kickstart:install -
Start the Docker container:
npx fusionauth kickstart:start -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Homebrew
Copy and paste each command below into a terminal to install using Homebrew. You'll also need to manually install a database for FusionAuth to work.
-
Tap the FusionAuth package:
brew tap fusionauth/homebrew-fusionauth</code> -
Install the FusionAuth tap:
brew install fusionauth-app</code> -
Start the FusionAuth service:
brew services start fusionauth-app</code> -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
macOS package
Copy and paste the code below into a terminal and we'll do the rest. This installation method installs the FusionAuth ZIP packages into the current working directory. You'll also need to manually install a database for FusionAuth to work.
-
Download and install the ZIP files
curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | bash -s && \ cd fusionauth -
Start FusionAuth:
bin/startup.sh -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Package
Copy and paste the code below and we'll do the rest (feel free to read the install scripts first). This installation method installs the FusionAuth ZIP packages into the current working directory. You'll also need to manually install a database for FusionAuth to work.
-
Download and install the ZIP files
curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | bash -s && \ cd fusionauth -
Start FusionAuth
bin/startup.sh -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Debian
Follow the steps below to install FusionAuth on a Debian/Ubuntu style Linux. This installation method installs the FusionAuth platform packages (DEBs) and will require sudo or root access. This command assumes you use the bash shell. You'll also need to manually install a database for FusionAuth to work.
-
Run the following commands:
VERSION=$(curl -fsSL https://license.fusionauth.io/api/latest-version) && \ curl -fsSL https://files.fusionauth.io/products/fusionauth/${VERSION}/fusionauth-app_${VERSION}-1_all.deb > fusionauth-app_${VERSION}-1_all.deb && \ sudo dpkg -i fusionauth-app_${VERSION}-1_all.deb && \ sudo systemctl start fusionauth-app -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Red Hat
Follow the steps below to install FusionAuth on Red Hat or other RPM-based distribution. This installation method installs the FusionAuth platform packages (RPMs) and will require sudo or root access. This command assumes you use the bash shell. You'll also need to manually install a database for FusionAuth to work.
-
Run the following commands:
VERSION=$(curl -fsSL https://license.fusionauth.io/api/latest-version) && \ curl -fsSL https://files.fusionauth.io/products/fusionauth/${VERSION}/fusionauth-app-${VERSION}-1.noarch.rpm > fusionauth-app-${VERSION}-1.noarch.rpm && \ sudo rpm -i fusionauth-app-${VERSION}-1.noarch.rpm && \ sudo systemctl start fusionauth-app -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Windows
Copy and paste the code below into PowerShell and we'll do the rest (feel free to read the install scripts first). This installation method installs the FusionAuth ZIP packages into the current working directory. You'll also need to manually install a database for FusionAuth to work.
-
Download and install the ZIP files
Invoke-WebRequest -UseBasicParsing -Uri https://raw.githubusercontent.com/FusionAuth/fusionauth-install/main/install.ps1 | iex cd fusionauth -
Start FusionAuth
bin\startup.ps1 -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Windows Subsystem for Linux 2
Follow the Microsoft documentation to install Debian/Ubuntu using WSL 2 and then follow the Linux install directions by clicking the Linux tab above.
Helm Package Manager
Follow the steps below to install FusionAuth on Kubernetes using Helm.
You'll need to update values.yml with database and Elasticsearch configuration information. For more information, see our kubernetes installation instructions.
-
Run the following commands:
helm repo add fusionauth https://fusionauth.github.io/charts && \ curl -o values.yaml https://raw.githubusercontent.com/FusionAuth/charts/master/chart/values.yaml && \ helm install my-release fusionauth/fusionauth -f values.yaml && \ export SVC_NAME=$(kubectl get svc --namespace default -l "app.kubernetes.io/name=fusionauth,app.kubernetes.io/instance=my-release" -o jsonpath="{.items[0].metadata.name}") && \ kubectl port-forward svc/$SVC_NAME 9011:9011 -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
minikube
Follow the steps below to install FusionAuth on Kubernetes using Helm. You'll need to have a running kubernetes cluster; for full cluster setup instructions, see our minikube documentation.
You'll need to update values.yml with database and Elasticsearch configuration information. For more information, see our kubernetes installation instructions.
-
Run the following commands:
helm repo add fusionauth https://fusionauth.github.io/charts && \ curl -o values.yaml https://raw.githubusercontent.com/FusionAuth/charts/master/chart/values.yaml && \ helm install my-release fusionauth/fusionauth -f values.yaml && \ export SVC_NAME=$(kubectl get svc --namespace default -l "app.kubernetes.io/name=fusionauth,app.kubernetes.io/instance=my-release" -o jsonpath="{.items[0].metadata.name}") && \ kubectl port-forward svc/$SVC_NAME 9011:9011 -
Visit http://localhost:9011/admin to access the Admin UI.
-
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Google Kubernetes Engine
Follow the steps below to install FusionAuth on Kubernetes using Helm. You'll need to have a running kubernetes cluster; for full cluster setup instructions, see our GKE documentation.
You'll need to update values.yml with database and Elasticsearch configuration information. For more information, see our kubernetes installation instructions.
-
Run the following commands:
helm repo add fusionauth https://fusionauth.github.io/charts && \ curl -o values.yaml https://raw.githubusercontent.com/FusionAuth/charts/master/chart/values.yaml && \ helm install my-release fusionauth/fusionauth -f values.yaml && \ export SVC_NAME=$(kubectl get svc --namespace default -l "app.kubernetes.io/name=fusionauth,app.kubernetes.io/instance=my-release" -o jsonpath="{.items[0].metadata.name}") && \ kubectl port-forward svc/$SVC_NAME 9011:9011 -
Visit
YOUR_INSTANCE_URL/adminto access the Admin UI. -
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Microsoft Azure Kubernetes Service
Follow the steps below to install FusionAuth on Kubernetes using Helm. You'll need to have a running kubernetes cluster; for full cluster setup instructions, see our AKS documentation.
You'll need to update values.yml with database and Elasticsearch configuration information. For more information, see our kubernetes installation instructions.
-
Run the following commands:
helm repo add fusionauth https://fusionauth.github.io/charts && \ curl -o values.yaml https://raw.githubusercontent.com/FusionAuth/charts/master/chart/values.yaml && \ helm install my-release fusionauth/fusionauth -f values.yaml && \ export SVC_NAME=$(kubectl get svc --namespace default -l "app.kubernetes.io/name=fusionauth,app.kubernetes.io/instance=my-release" -o jsonpath="{.items[0].metadata.name}") && \ kubectl port-forward svc/$SVC_NAME 9011:9011 -
Visit
YOUR_INSTANCE_URL/adminto access the Admin UI. -
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.
Amazon Elastic Kubernetes Service
Follow the steps below to install FusionAuth on Kubernetes using Helm. You'll need to have a running kubernetes cluster; for full cluster setup instructions, see our EKS documentation.
You'll need to update values.yml with database and Elasticsearch configuration information. For more information, see our kubernetes installation instructions
-
Run the following commands:
helm repo add fusionauth https://fusionauth.github.io/charts && \ curl -o values.yaml https://raw.githubusercontent.com/FusionAuth/charts/master/chart/values.yaml && \ helm install my-release fusionauth/fusionauth -f values.yaml && \ export SVC_NAME=$(kubectl get svc --namespace default -l "app.kubernetes.io/name=fusionauth,app.kubernetes.io/instance=my-release" -o jsonpath="{.items[0].metadata.name}") && \ kubectl port-forward svc/$SVC_NAME 9011:9011 -
Visit
YOUR_INSTANCE_URL/adminto access the Admin UI. -
Congratulations, you have a working instance of FusionAuth! To set up login for an application, see our First Time Setup guide.