mirror of
https://github.com/goauthentik/authentik
synced 2026-04-26 01:25:02 +02:00
* initial Signed-off-by: Jens Langhammer <jens@goauthentik.io> * use same startup template Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix check not working Signed-off-by: Jens Langhammer <jens@goauthentik.io> * unrelated: fix inspector auth Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * update docs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * ensure oobe flow can only accessed via correct url Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set setup flag when applying bootstrap blueprint when env is set Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add system visibility to flags to make them non-editable Signed-off-by: Jens Langhammer <jens@goauthentik.io> * set setup flag for e2e tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests and linting Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix tests Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make github lint happy Signed-off-by: Jens Langhammer <jens@goauthentik.io> * make tests have less assumptions Signed-off-by: Jens Langhammer <jens@goauthentik.io> * Update docs * include more heuristics in migration Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add management command to set any flag Signed-off-by: Jens Langhammer <jens@goauthentik.io> * migrate worker command to signal Signed-off-by: Jens Langhammer <jens@goauthentik.io> * improved api for setting flags Signed-off-by: Jens Langhammer <jens@goauthentik.io> * short circuit Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: Dewi Roberts <dewi@goauthentik.io>
65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
---
|
|
title: Frontend development environment
|
|
sidebar_label: Frontend development
|
|
tags:
|
|
- development
|
|
- contributor
|
|
- frontend
|
|
- docker
|
|
---
|
|
|
|
If you're focusing solely on frontend development, you can create a minimal development environment using Docker and Node.js. This setup allows you to make and preview changes to the frontend in real-time, without needing to interact with the backend.
|
|
|
|
### Prerequisites
|
|
|
|
- [Node.js](https://nodejs.org/en) (24 or later)
|
|
- [Docker](https://www.docker.com/) (Latest Community Edition or Docker Desktop)
|
|
- [Docker Compose](https://docs.docker.com/compose/) (Compose v2)
|
|
- [Make](https://www.gnu.org/software/make/) (3 or later)
|
|
|
|
### Instructions
|
|
|
|
1. Clone the Git repo to your development machine and navigate to the authentik directory.
|
|
|
|
```shell
|
|
git clone https://github.com/goauthentik/authentik
|
|
cd authentik
|
|
```
|
|
|
|
2. Run the following to create a `.env` file in the `lifecycle/container` directory of the repository to configure the Docker Compose environment.
|
|
|
|
```shell
|
|
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> ./lifecycle/container/.env
|
|
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> ./lifecycle/container/.env
|
|
echo "AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server" >> ./lifecycle/container/.env
|
|
echo "AUTHENTIK_TAG=gh-next" >> ./lifecycle/container/.env
|
|
echo "AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-next" >> ./lifecycle/container/.env
|
|
echo "AUTHENTIK_LOG_LEVEL=debug" >> ./lifecycle/container/.env
|
|
echo 'GIT_BUILD_HASH="dev"' >> ./lifecycle/container/.env
|
|
```
|
|
|
|
3. Create a Docker Compose override file (`compose.override.yml`) in the root of the repository. This will override the volume configurations for the local configuration file (`local.env.yml`) and mount the directory for the frontend code (`web`) into the docker containers. Docker will automatically mount the web files generated by the build process. The `local.env.yml` mount is optional, but allows you to override the default configuration.
|
|
|
|
```yaml title="compose.override.yml"
|
|
services:
|
|
server:
|
|
volumes:
|
|
- ./web:/web
|
|
- ./local.env.yml:/local.env.yml
|
|
```
|
|
|
|
4. From the repository root, run the frontend build script. This will install the npm packages needed to run the frontend project and start the project in watch mode.
|
|
|
|
```shell
|
|
make node-install
|
|
make web-watch
|
|
```
|
|
|
|
5. In a new terminal, navigate to the cloned repository root and start the backend containers with Docker Compose.
|
|
|
|
```shell
|
|
docker compose -f lifecycle/container/compose.yml up -d
|
|
```
|
|
|
|
You can now access authentik on http://localhost:9000 (or https://localhost:9443).
|