Package the build in a script and update image sizes in README.
parent
ddf1e48535
commit
0978c6bebc
|
@ -19,8 +19,7 @@ addons:
|
||||||
|
|
||||||
before_install: npm install -g npm@'>=2.13.5'
|
before_install: npm install -g npm@'>=2.13.5'
|
||||||
script:
|
script:
|
||||||
- grunt test
|
- grunt build-dist
|
||||||
- grunt dist
|
|
||||||
- grunt docker-build
|
- grunt docker-build
|
||||||
- docker-compose build
|
- docker-compose build
|
||||||
- docker-compose up -d
|
- docker-compose up -d
|
||||||
|
|
15
Gruntfile.js
15
Gruntfile.js
|
@ -31,6 +31,10 @@ module.exports = function (grunt) {
|
||||||
"apidoc": {
|
"apidoc": {
|
||||||
cmd: "./node_modules/.bin/apidoc",
|
cmd: "./node_modules/.bin/apidoc",
|
||||||
args: ["-i", "src/server", "-o", "doc"]
|
args: ["-i", "src/server", "-o", "doc"]
|
||||||
|
},
|
||||||
|
"make-dev-views": {
|
||||||
|
cmd: "sed",
|
||||||
|
args: ["-i", "s/authelia\.min/authelia/", `${buildDir}/src/server/views/layout/layout.pug`]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
copy: {
|
copy: {
|
||||||
|
@ -113,7 +117,7 @@ module.exports = function (grunt) {
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
files: ['src/server/**/*.ts', 'test/server/**/*.ts'],
|
files: ['src/server/**/*.ts', 'test/server/**/*.ts'],
|
||||||
tasks: ['build', 'run:docker-restart'],
|
tasks: ['build', 'run:docker-restart', 'run:make-dev-views' ],
|
||||||
options: {
|
options: {
|
||||||
interrupt: true,
|
interrupt: true,
|
||||||
}
|
}
|
||||||
|
@ -141,11 +145,12 @@ module.exports = function (grunt) {
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||||
grunt.loadNpmTasks('grunt-run');
|
grunt.loadNpmTasks('grunt-run');
|
||||||
|
|
||||||
grunt.registerTask('default', ['build']);
|
grunt.registerTask('default', ['build-dist']);
|
||||||
|
|
||||||
grunt.registerTask('build-resources', ['copy:resources', 'copy:views', 'copy:images', 'copy:thirdparties', 'concat:css', 'cssmin']);
|
grunt.registerTask('build-resources', ['copy:resources', 'copy:views', 'copy:images', 'copy:thirdparties', 'concat:css']);
|
||||||
grunt.registerTask('build', ['run:tslint', 'run:build', 'browserify:dist']);
|
|
||||||
grunt.registerTask('dist', ['build', 'build-resources', 'run:minify', 'cssmin']);
|
grunt.registerTask('build-dev', ['run:tslint', 'run:build', 'browserify:dist', 'build-resources', 'run:make-dev-views']);
|
||||||
|
grunt.registerTask('build-dist', ['build-dev', 'run:minify', 'cssmin']);
|
||||||
|
|
||||||
grunt.registerTask('docker-build', ['run:docker-build']);
|
grunt.registerTask('docker-build', ['run:docker-build']);
|
||||||
grunt.registerTask('docker-restart', ['run:docker-restart']);
|
grunt.registerTask('docker-restart', ['run:docker-restart']);
|
||||||
|
|
13
README.md
13
README.md
|
@ -48,7 +48,7 @@ Add the following lines to your /etc/hosts to simulate multiple subdomains
|
||||||
Then, type the following command to build and deploy the services:
|
Then, type the following command to build and deploy the services:
|
||||||
|
|
||||||
npm install --only=dev
|
npm install --only=dev
|
||||||
grunt build
|
grunt build-dist
|
||||||
docker-compose build
|
docker-compose build
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ After few seconds the services should be running and you should be able to visit
|
||||||
Normally, a self-signed certificate exception should appear, it has to be
|
Normally, a self-signed certificate exception should appear, it has to be
|
||||||
accepted before getting to the login page:
|
accepted before getting to the login page:
|
||||||
|
|
||||||
![first-factor-page](https://raw.githubusercontent.com/clems4ever/authelia/master/images/first_factor.png)
|
<img src="https://raw.githubusercontent.com/clems4ever/authelia/master/images/first_factor.png" width="400">
|
||||||
|
|
||||||
### 1st factor: LDAP and ACL
|
### 1st factor: LDAP and ACL
|
||||||
An LDAP server has been deployed for you with the following credentials and
|
An LDAP server has been deployed for you with the following credentials and
|
||||||
|
@ -79,7 +79,8 @@ any subdomain.
|
||||||
Type them in the login page and validate. Then, the second factor page should
|
Type them in the login page and validate. Then, the second factor page should
|
||||||
have appeared as shown below.
|
have appeared as shown below.
|
||||||
|
|
||||||
![second-factor-page](https://raw.githubusercontent.com/clems4ever/authelia/master/images/second_factor.png)
|
|
||||||
|
<img src="https://raw.githubusercontent.com/clems4ever/authelia/master/images/second_factor.png" width="400">
|
||||||
|
|
||||||
|
|
||||||
### 2nd factor: TOTP (Time-Base One Time Password)
|
### 2nd factor: TOTP (Time-Base One Time Password)
|
||||||
|
@ -92,7 +93,7 @@ your secret in QRCode and Base32 formats. You can use
|
||||||
[Google Authenticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en)
|
[Google Authenticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en)
|
||||||
to store them and get the generated tokens required during authentication.
|
to store them and get the generated tokens required during authentication.
|
||||||
|
|
||||||
![totp-secret](https://raw.githubusercontent.com/clems4ever/authelia/master/images/totp.png)
|
<img src="https://raw.githubusercontent.com/clems4ever/authelia/master/images/totp.png" width="400">
|
||||||
|
|
||||||
### 2nd factor: U2F (Universal 2-Factor) with security keys
|
### 2nd factor: U2F (Universal 2-Factor) with security keys
|
||||||
**Authelia** also offers authentication using U2F devices like [Yubikey](Yubikey)
|
**Authelia** also offers authentication using U2F devices like [Yubikey](Yubikey)
|
||||||
|
@ -107,7 +108,7 @@ the link in your browser and you'll be asking to touch the token of your device
|
||||||
to register it. You can now authenticate using your U2F device by simply
|
to register it. You can now authenticate using your U2F device by simply
|
||||||
touching the token.
|
touching the token.
|
||||||
|
|
||||||
![u2f-validation](https://raw.githubusercontent.com/clems4ever/authelia/master/images/u2f.png)
|
<img src="https://raw.githubusercontent.com/clems4ever/authelia/master/images/u2f.png" width="400">
|
||||||
|
|
||||||
### Password reset
|
### Password reset
|
||||||
With **Authelia**, you can also reset your password in no time. Click on the
|
With **Authelia**, you can also reset your password in no time. Click on the
|
||||||
|
@ -117,7 +118,7 @@ email address. For the sake of the example, the email is delivered in the file
|
||||||
./notifications/notification.txt.
|
./notifications/notification.txt.
|
||||||
Paste the link in your browser and you should be able to reset the password.
|
Paste the link in your browser and you should be able to reset the password.
|
||||||
|
|
||||||
![reset-password](https://raw.githubusercontent.com/clems4ever/authelia/master/images/reset_password.png)
|
<img src="https://raw.githubusercontent.com/clems4ever/authelia/master/images/reset_password.png" width="400">
|
||||||
|
|
||||||
### Access Control
|
### Access Control
|
||||||
With **Authelia**, you can define your own access control rules for restricting
|
With **Authelia**, you can define your own access control rules for restricting
|
||||||
|
|
Loading…
Reference in New Issue