This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/website/developer-docs/frontend-only-dev-environment.md
Jens Langhammer 4882de6ade website/developer-docs: add note for node16 and npm i for api
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
2021-08-14 22:09:45 +02:00

1.7 KiB

title
Frontend-only development environment

If you want to only make changes on the UI, you don't need a backend running from source. You can user the docker-compose install with a few customizations.

Prerequisites

  • Node (any recent version should work, we use 16.x to build)
  • Make (again, any recent version should work)
  • Docker and docker-compose

Instructions

  1. Clone the git repo from https://github.com/goauthentik/authentik

  2. In the cloned repository, follow the docker-compose installation instructions here

  3. Add the following entry to your .env file:

    AUTHENTIK_IMAGE=beryju.org/authentik/server
    AUTHENTIK_TAG=gh-next
    AUTHENTIK_OUTPOSTS__DOCKER_IMAGE_BASE=beryju.org/authentik/outpost-%(type)s:gh-next
    

    This will cause authentik to use the beta images.

  4. Create a local.env.yml file to tell authentik to use local files instead of the bundled ones:

    log_level: debug
    web:
      load_local_files: true
    
  5. Add this volume mapping to your compose file

    version: '3.2'
    
    services:
      # [...]
      server:
        # [...]
        volumes:
          - ./web:/web
          - ./local.env.yml:/local.env.yml
    

    This makes the local web files and the config file available to the authentik server.

  6. Run docker-compose up -d to apply those changes to your containers.

  7. Run make gen-web in the project root directory to generate the API Client used by the web interfaces

  8. cd web

  9. Run npm i and then npm run watch to start the build process.

You can now access authentik on http://localhost:9000 (or https://localhost:9443).

You might also want to complete the initial setup under /if/flow/initial-setup/.