Rolle | Wiki.js #1
7 changed files with 102 additions and 16 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"var_authelia_for_wiki_js_wiki_js_url_base": "https://wiki_js.example.org",
|
||||
"var_authelia_for_wiki_js_wiki_js_url_base": "https://wiki-js.example.org",
|
||||
"var_authelia_for_wiki_js_client_id": "wiki_js",
|
||||
"var_authelia_for_wiki_js_client_secret": "REPLACE_ME",
|
||||
"var_authelia_for_wiki_js_uuid": "REPLACE_ME"
|
||||
"var_authelia_for_wiki_js_strategy_id": "authelia"
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"public": false,
|
||||
"authorization_policy": "one_factor",
|
||||
"redirect_uris": [
|
||||
"{{var_authelia_for_wiki_js_wiki_js_url_base}}/login/{{var_authelia_for_wiki_js_uuid}}/calback"
|
||||
"{{var_authelia_for_wiki_js_wiki_js_url_base}}/login/{{var_authelia_for_wiki_js_strategy_id}}/callback"
|
||||
],
|
||||
"scopes": [
|
||||
"openid",
|
||||
|
@ -13,5 +13,5 @@
|
|||
"profile"
|
||||
],
|
||||
"userinfo_signed_response_alg": "none",
|
||||
"token_endpoint_auth_method": "client_secret_basic"
|
||||
"token_endpoint_auth_method": "client_secret_post"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"var_vikunja_and_nginx_domain": "vikunja.example.org",
|
||||
"var_wiki_js_and_nginx_domain": "wiki-js.example.org",
|
||||
"var_wiki_js_and_nginx_internal_port": 5632,
|
||||
"var_vikunja_and_nginx_tls_mode": "force"
|
||||
"var_wiki_js_and_nginx_tls_mode": "force"
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"var_wiki_js_log_level": "info",
|
||||
"var_wiki_js_log_format": "default",
|
||||
"var_wiki_js_database_kind": "sqlite",
|
||||
"var_wiki_js_database_data_sqlite_path": "/var/wiki.js/data.sqlite",
|
||||
"var_wiki_js_database_data_sqlite_path": "/var/wiki_js/data.sqlite",
|
||||
"var_wiki_js_database_data_postgresql_host": "postgresql.example.org",
|
||||
"var_wiki_js_database_data_postgresql_port": 5432,
|
||||
"var_wiki_js_database_data_postgresql_username": "wiki_js_user",
|
||||
|
|
|
@ -544,6 +544,43 @@ wiki_js.cli.api = (wiki_js.cli.api || {});
|
|||
}
|
||||
exports.call_authentication_strategy_set = call_authentication_strategy_set;
|
||||
|
||||
|
||||
/**
|
||||
*/
|
||||
function call_theming_set(
|
||||
login_token,
|
||||
dark_mode,
|
||||
toc_position
|
||||
)
|
||||
{
|
||||
wiki_js.cli.helpers.log.write(
|
||||
"info",
|
||||
"api_call_theming_set",
|
||||
{
|
||||
"dark_mode": dark_mode,
|
||||
"toc_position": toc_position,
|
||||
}
|
||||
);
|
||||
return (
|
||||
call_generic_graphql(
|
||||
"mutation ($theme: String!, $iconset: String!, $darkMode: Boolean!, $tocPosition: String, $injectCSS: String, $injectHead: String, $injectBody: String) {theming {setConfig(theme: $theme, iconset: $iconset, darkMode: $darkMode, tocPosition: $tocPosition, injectCSS: $injectCSS, injectHead: $injectHead, injectBody: $injectBody) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}",
|
||||
{
|
||||
"login_token": login_token,
|
||||
"variables": {
|
||||
"theme": "default",
|
||||
"iconset": "mdi",
|
||||
"darkMode": dark_mode,
|
||||
"tocPosition": "left",
|
||||
"injectCSS": "",
|
||||
"injectHead": "",
|
||||
"injectBody": ""
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
exports.call_theming_set = call_theming_set;
|
||||
|
||||
}) (wiki_js.cli.api);
|
||||
|
||||
|
||||
|
@ -760,6 +797,31 @@ wiki_js.cli.logic = (wiki_js.cli.logic || {});
|
|||
}
|
||||
exports.authentication_strategy_add = authentication_strategy_add;
|
||||
|
||||
|
||||
/**
|
||||
*/
|
||||
async function theming_set(
|
||||
options = {}
|
||||
)
|
||||
{
|
||||
options = Object.assign(
|
||||
{
|
||||
"dark_mode": false,
|
||||
"toc_position": "left",
|
||||
},
|
||||
options
|
||||
);
|
||||
const login_token = await wiki_js.cli.api.call_login_local(
|
||||
);
|
||||
const result = await wiki_js.cli.api.call_theming_set(
|
||||
login_token,
|
||||
options.dark_mode,
|
||||
options.toc_position
|
||||
);
|
||||
return Promise.resolve(result);
|
||||
}
|
||||
exports.theming_set = theming_set;
|
||||
|
||||
}) (wiki_js.cli.logic);
|
||||
|
||||
|
||||
|
@ -849,7 +911,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
|||
break;
|
||||
}
|
||||
case "init": {
|
||||
if (args.positional.length < 3) {
|
||||
if (args.positional.length <= 2) {
|
||||
return Promise.reject("SYNTAX: … init <admin-email-address> <admin-password> [<site-url> [<allow-telemetry>]]");
|
||||
}
|
||||
else {
|
||||
|
@ -878,7 +940,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
|||
break;
|
||||
}
|
||||
case "email-settings-set": {
|
||||
if (args.positional.length < 7) {
|
||||
if (args.positional.length <= 6) {
|
||||
return Promise.reject("SYNTAX: … email-settings-set <smtp-host> <smtp-port> <smtp-username> <smtp-password> <sender-name> <sender-email-address>");
|
||||
}
|
||||
else {
|
||||
|
@ -910,7 +972,7 @@ wiki_js.cli = (wiki_js.cli || {});
|
|||
break;
|
||||
}
|
||||
case "auth-strat-add-oauth2": {
|
||||
if (args.positional.length < 8) {
|
||||
if (args.positional.length <= 7) {
|
||||
return Promise.reject("SYNTAX: … auth-strat-add-oauth2 <strategy-key> <strategy-name> <strategy-client-id> <strategy-client-secret> <strategy-authorization-url> <strategy-token-url> <strategy-user-info-url>");
|
||||
}
|
||||
else {
|
||||
|
@ -929,6 +991,21 @@ wiki_js.cli = (wiki_js.cli || {});
|
|||
}
|
||||
break;
|
||||
}
|
||||
case "theming-set": {
|
||||
if (args.positional.length <= 2) {
|
||||
return Promise.reject("SYNTAX: … theming-set <dark-mode> [<toc-position>]");
|
||||
}
|
||||
else {
|
||||
await wiki_js.cli.logic.theming_set(
|
||||
{
|
||||
"dark_mode": (args.positional[1] === "1"),
|
||||
"toc_position": args.positional[2],
|
||||
}
|
||||
);
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
|
||||
## ToDo
|
||||
|
||||
- Admin-Account
|
||||
- E-Mail
|
||||
- Locale
|
||||
- Start Page
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
"become_user": "{{var_wiki_js_user}}",
|
||||
"ansible.builtin.get_url": {
|
||||
"url": "https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz",
|
||||
"dest": "/tmp/wiki_js.zip"
|
||||
"dest": "/tmp/wiki_js.tar.gz"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -121,7 +121,7 @@
|
|||
"become_user": "{{var_wiki_js_user}}",
|
||||
"ansible.builtin.command": {
|
||||
"chdir": "{{var_wiki_js_directory}}",
|
||||
"cmd": "node cli.js -b https://{{var_wiki_js_domain}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} 0"
|
||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} 0"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -130,7 +130,16 @@
|
|||
"become_user": "{{var_wiki_js_user}}",
|
||||
"ansible.builtin.command": {
|
||||
"chdir": "{{var_wiki_js_directory}}",
|
||||
"cmd": "node cli.js -b https://{{var_wiki_js_domain}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} email-settings-set {{var_wiki_js_smtp_host}} {{var_wiki_js_smtp_port}} {{var_wiki_js_smtp_username}} {{var_wiki_js_smtp_password}} {{email_sending_sender_name}} {{email_sending_sender_email_address}}"
|
||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} email-settings-set {{var_wiki_js_smtp_host}} {{var_wiki_js_smtp_port}} {{var_wiki_js_smtp_username}} {{var_wiki_js_smtp_password}} {{email_sending_sender_name}} {{email_sending_sender_email_address}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "theming",
|
||||
"become": true,
|
||||
"become_user": "{{var_wiki_js_user}}",
|
||||
"ansible.builtin.command": {
|
||||
"chdir": "{{var_wiki_js_directory}}",
|
||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set 1 left"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -140,7 +149,7 @@
|
|||
"become_user": "{{var_wiki_js_user}}",
|
||||
"ansible.builtin.command": {
|
||||
"chdir": "{{var_wiki_js_directory}}",
|
||||
"cmd": "node cli.js -b https://{{var_wiki_js_domain}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo"
|
||||
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
Loading…
Add table
Reference in a new issue