Cleanup documentation.
Remove mention of Mongo and basic suites. Also adapt some part to changes made to authelia-scripts.pull/447/head
parent
bd19ee48fd
commit
5b836fc4cf
|
@ -16,8 +16,8 @@ For instance, you can build Authelia with:
|
|||
|
||||
authelia-scripts build
|
||||
|
||||
Or start the *docker-image* suite with:
|
||||
Or start the *Standalone* suite with:
|
||||
|
||||
authelia-scripts suites start docker-image
|
||||
authelia-scripts suites setup Standalone
|
||||
|
||||
You will find more information in the scripts usage helpers.
|
|
@ -1,60 +1,50 @@
|
|||
# Build and dev
|
||||
|
||||
**Authelia** is written in Go and comes with a dedicated CLI called [authelia-scripts](./authelia-scripts.md)
|
||||
which is provided after running `source bootstrap.sh`. This CLI provides many useful tools to help you during
|
||||
which is available after running `source bootstrap.sh`. This CLI provides many useful tools to help you during
|
||||
development.
|
||||
|
||||
In order to build and contribute to **Authelia**, you need to make sure Node with version >= 8 and < 12,
|
||||
Go v1.13 and Docker is installed on your machine.
|
||||
In order to build and contribute to **Authelia**, you need to make sure Go v1.13, Docker,
|
||||
docker-compose and Node with version >= 8 and < 12 are installed on your machine.
|
||||
|
||||
## Build
|
||||
## Get started
|
||||
|
||||
**Authelia** is made of two parts: the frontend and the backend.
|
||||
**Authelia** is made of Go application serving the API and a [React](https://reactjs.org/)
|
||||
application for the portal.
|
||||
|
||||
The frontend is a [React](https://reactjs.org/) application written in Typescript and
|
||||
the backend is Go application.
|
||||
In order to ease development, Authelia uses the concept of [suites] to run Authelia from source
|
||||
code so that your patches are included. This is a kind of virtual environment running **Authelia**
|
||||
in a complete ecosystem (LDAP, Redis, SQL server). Note that Authelia is hotreloaded in the
|
||||
environment so that your patches are instantly included.
|
||||
|
||||
The following command builds **Authelia** under dist/:
|
||||
The next command starts the suite called *Standalone*:
|
||||
|
||||
authelia-scripts build
|
||||
authelia-scripts suites setup Standalone
|
||||
|
||||
Or you can also build the Alpine-based official Docker image with:
|
||||
Most of the suites are using docker-compose to bootstrap the environment. Therefore, you
|
||||
can check the logs of all application by running the following command on the component
|
||||
you want to monitor.
|
||||
|
||||
authelia-scripts docker build
|
||||
docker logs authelia_authelia-backend_1 -f
|
||||
|
||||
## Development
|
||||
|
||||
In order to ease development, Authelia uses the concept of [suites]. This is
|
||||
a kind of virutal environment for **Authelia**, it allows you to run **Authelia** in a complete
|
||||
ecosystem, develop and test your patches. A hot-reload feature has been implemented so that
|
||||
you can test your changes right after the file has been saved.
|
||||
|
||||
The next command will start the suite called [basic](../test/suites/basic/README.md):
|
||||
|
||||
authelia-scripts suites start basic
|
||||
|
||||
Then, edit the code and observe how **Authelia** is automatically updated.
|
||||
Then, edit the code and observe how **Authelia** is automatically reloaded.
|
||||
|
||||
### Unit tests
|
||||
|
||||
To run the unit tests written, run:
|
||||
To run the unit tests, run:
|
||||
|
||||
authelia-scripts unittest
|
||||
|
||||
### Integration tests
|
||||
|
||||
Integration tests run with Mocha and are based on Selenium. They generally
|
||||
require a complete environment made of several components like redis, a SQL server and a
|
||||
LDAP to run. That's why [suites] have been created. At this point, the *basic* suite should
|
||||
already be running and you can run the tests related to this suite with the following
|
||||
command:
|
||||
Integration tests are located under the `suites` directory based on Selenium.
|
||||
|
||||
authelia-scripts suites test
|
||||
|
||||
You don't need to start the suite before testing it. Given your environment is not running
|
||||
any suite, just use the following command to test the basic suite.
|
||||
You don't need to start the suite before testing it. Given you're not running
|
||||
any suite, just use the following command to test the *Standalone* suite.
|
||||
|
||||
authelia-scripts suites test basic
|
||||
authelia-scripts suites test Standalone
|
||||
|
||||
The suite will be spawned, tests will be run and then the suite will be teared down
|
||||
automatically.
|
||||
|
|
|
@ -16,11 +16,10 @@ non resilient to failures.*
|
|||
**NOTE:** If not done already, we highly recommend you first follow the
|
||||
[Getting Started] documentation.
|
||||
|
||||
In some cases, like protecting personal websites, it can be fine to use
|
||||
**Authelia** in a non highly-available setup. We can
|
||||
achieve that in order to reduce the number of components to only two: a
|
||||
reverse proxy such as nginx or Traefik and Authelia as a companion of the
|
||||
proxy.
|
||||
In some cases, like protecting personal projects/websites, it can be fine to use
|
||||
**Authelia** in a non highly-available setup. This reduces the number
|
||||
of components to only two: a reverse proxy such as nginx or Traefik and
|
||||
Authelia as a companion of the proxy.
|
||||
|
||||
As for a regular deployment in production, you need to install **Authelia**
|
||||
either by pulling the Docker image or building distributable version.
|
||||
|
@ -48,16 +47,16 @@ TODO
|
|||
|
||||
### Discard SQL server
|
||||
|
||||
There is an option in the configuration file to avoid using a SQL server and use
|
||||
a local sqlite3 database instead. This option will therefore prevent you from running
|
||||
multiple instances of **Authelia** in parallel.
|
||||
There is an option in the configuration file to avoid using an external SQL server
|
||||
and use a local sqlite3 database instead. This option will therefore prevent you
|
||||
from running multiple instances of **Authelia** in parallel.
|
||||
Consequently, this option is not meant to be used in production or at least
|
||||
not one that should scale out.
|
||||
|
||||
Here is the configuration block you should use:
|
||||
Here is the configuration you should use:
|
||||
|
||||
storage:
|
||||
# The directory where the sqlite3 file will be saved
|
||||
# The file path of the sqlite3 file where data will be persisted
|
||||
local:
|
||||
path: /var/lib/authelia/db.sqlite3
|
||||
|
||||
|
@ -159,7 +158,7 @@ Well, as stated before those instructions are not meant to be applied for
|
|||
a production environment. That being said, in some cases it is just fine and
|
||||
writing an Ansible playbook to automate all this process is ok.
|
||||
We would really be more than happy to review such a PR.
|
||||
In the meantime, you can check the *basic* [suite](./suites.md) to see all this
|
||||
In the meantime, you can check the *Standalone* [suite](./suites.md) to see all this
|
||||
in a real example.
|
||||
|
||||
[Getting Started]: ./getting-started.md
|
||||
|
|
|
@ -7,9 +7,9 @@ command and follow the instructions of bootstrap.sh:
|
|||
|
||||
source bootstrap.sh
|
||||
|
||||
Then, start the *docker-image* [suite].
|
||||
Then, start the *Standalone* [suite].
|
||||
|
||||
authelia-scripts suites start docker-image
|
||||
authelia-scripts suites setup Standalone
|
||||
|
||||
A [suite] is kind of a virtual environment for running Authelia in a complete ecosystem.
|
||||
If you want more details please read the related [documentation](./suites.md).
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
version: '3'
|
||||
services:
|
||||
authelia:
|
||||
image: authelia:dist
|
||||
restart: always
|
||||
volumes:
|
||||
- ./test/suites/docker-image/config.yml:/etc/authelia/config.yml:ro
|
||||
environment:
|
||||
- NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- authelianet
|
|
@ -15,7 +15,7 @@ or deploy the dedicated [suite](/docs/suites.md) called *kubernetes*.
|
|||
|
||||
The simplest way to start a Kubernetes cluster is to deploy the *kubernetes* suite with
|
||||
|
||||
authelia-scripts suites start kubernetes
|
||||
authelia-scripts suites setup kubernetes
|
||||
|
||||
This will take a few seconds (or minutes) to deploy the cluster.
|
||||
|
||||
|
|
13
package.json
13
package.json
|
@ -2,22 +2,9 @@
|
|||
"name": "authelia",
|
||||
"version": "3.16.3",
|
||||
"description": "2FA Single Sign-On server for nginx using LDAP, TOTP and U2F",
|
||||
"bin": {
|
||||
"authelia": "./dist/server/src/index.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0 <10.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "./scripts/authelia-scripts suites start",
|
||||
"build": "./scripts/authelia-scripts build",
|
||||
"unittest": "./scripts/authelia-scripts unittest",
|
||||
"test": "./scripts/authelia-scripts suites test",
|
||||
"travis": "./scripts/authelia-scripts travis",
|
||||
"cover": "NODE_ENV=test nyc npm t",
|
||||
"scripts": "./scripts/authelia-scripts",
|
||||
"hash-password": "./scripts/authelia-scripts hash-password"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/clems4ever/authelia"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Basic suite
|
||||
# Network ACL suite
|
||||
|
||||
This suite has been created to test Authelia with basic feature in a non highly-available setup.
|
||||
Authelia basically use an in-memory cache to store user sessions and persist data on disk instead
|
||||
|
|
Loading…
Reference in New Issue