[mod] role:hedgedoc
This commit is contained in:
parent
5732ffbc00
commit
d59a64c36d
5 changed files with 149 additions and 18 deletions
|
@ -1,5 +1,13 @@
|
||||||
{
|
{
|
||||||
|
"var_hedgedoc_version": "1.9.9",
|
||||||
"var_hedgedoc_session_secret": "session_secret",
|
"var_hedgedoc_session_secret": "session_secret",
|
||||||
"var_hedgedoc_database_path": "/var/hedgedoc/data.sqlite",
|
"var_hedgedoc_database_path": "/var/hedgedoc/data.sqlite",
|
||||||
"var_hedgedoc_oauth2_provider_name": "external auth"
|
"var_hedgedoc_domain": "hedgedoc.example.org",
|
||||||
|
"var_hedgedoc_oauth2_enable": false,
|
||||||
|
"var_hedgedoc_oauth2_provider_name": "external auth",
|
||||||
|
"var_hedgedoc_oauth2_client_id": "hedgedoc",
|
||||||
|
"var_hedgedoc_oauth2_client_secret": "REPLACE_ME",
|
||||||
|
"var_hedgedoc_oauth2_user_profile_url": "https://auth.example.org/profile",
|
||||||
|
"var_hedgedoc_oauth2_token_url": "https://auth.example.org/token",
|
||||||
|
"var_hedgedoc_oauth2_authorization_url": "https://auth.example.org/authorization"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
## Beschreibung
|
||||||
|
|
||||||
|
Kollaborativer Editor [Hedgedoc](https://docs.hedgedoc.org/)
|
||||||
|
|
||||||
|
|
||||||
## Verweise
|
## Verweise
|
||||||
|
|
||||||
- [Projekt-Website](https://docs.hedgedoc.org/)
|
- [Dokumentation | Manual Installation](https://docs.hedgedoc.org/setup/manual-setup/)
|
||||||
|
- [Dokumentation | Configuration](https://docs.hedgedoc.org/configuration/)
|
||||||
|
|
|
@ -1,2 +1,93 @@
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "packages",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.apt": {
|
||||||
|
"pkg": [
|
||||||
|
"acl",
|
||||||
|
"git",
|
||||||
|
"nodejs",
|
||||||
|
"npm",
|
||||||
|
"yarnpkg"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "link yarn",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.file": {
|
||||||
|
"state": "link",
|
||||||
|
"src": "/usr/bin/yarnpkg",
|
||||||
|
"dest": "/usr/bin/yarn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.user": {
|
||||||
|
"name": "hedgedoc",
|
||||||
|
"create_home": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "download",
|
||||||
|
"become": false,
|
||||||
|
"ansible.builtin.get_url": {
|
||||||
|
"url": "https://github.com/hedgedoc/hedgedoc/releases/download/{{var_hedgedoc_version}}/hedgedoc-{{var_hedgedoc_version}}.tar.gz",
|
||||||
|
"dest": "/tmp/hedgedoc.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "extract",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.unarchive": {
|
||||||
|
"remote_src": true,
|
||||||
|
"src": "/tmp/hedgedoc.tar.gz",
|
||||||
|
"dest": "/opt",
|
||||||
|
"owner": "hedgedoc"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "setup",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "hedgedoc",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/opt/hedgedoc",
|
||||||
|
"cmd": "bin/setup"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "database",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.file": {
|
||||||
|
"state": "touch",
|
||||||
|
"path": "{{var_hedgedoc_database_path}}",
|
||||||
|
"owner": "hedgedoc"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "configuration",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "config.json.j2",
|
||||||
|
"dest": "/opt/hedgedoc/config.json"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "systemd",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "systemd-unit.j2",
|
||||||
|
"dest": "/etc/systemd/system/hedgedoc.service"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apply",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.systemd_service": {
|
||||||
|
"enabled": true,
|
||||||
|
"state": "started",
|
||||||
|
"name": "hedgedoc"
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,28 +1,41 @@
|
||||||
{
|
{
|
||||||
"development": {
|
"production": {
|
||||||
"domain": "localhost:3000",
|
"loglevel": "error",
|
||||||
"url": {
|
|
||||||
"addport": true
|
|
||||||
},
|
|
||||||
"loglevel": "debug",
|
|
||||||
"sessionSecret": "{{var_hedgedoc_session_secret}}",
|
|
||||||
"db": {
|
"db": {
|
||||||
"dialect": "sqlite",
|
"dialect": "sqlite",
|
||||||
"storage": "./db.hedgedoc.sqlite"
|
"storage": "{{var_hedgedoc_database_path}}"
|
||||||
},
|
},
|
||||||
|
"sessionSecret": "{{var_hedgedoc_session_secret}}",
|
||||||
|
"host": "localhost",
|
||||||
|
"allowOrigin": [
|
||||||
|
"localhost"
|
||||||
|
],
|
||||||
|
"domain": "{{var_hedgedoc_domain}}",
|
||||||
"urlAddPort": false,
|
"urlAddPort": false,
|
||||||
"protocolUseSSL": false,
|
"protocolUseSSL": true,
|
||||||
|
{% if var_hedgedoc_oauth2_enable %}
|
||||||
"oauth2": {
|
"oauth2": {
|
||||||
"providerName": "authelia",
|
"providerName": "{{var_hedgedoc_oauth2_provider_name}}",
|
||||||
"clientId": "b45421efcb7b1e5672d9b2bc55b3fdb2b6c62f3a72668110bd38f77fa1242ece",
|
"clientID": "{{var_hedgedoc_oauth2_client_id}}",
|
||||||
"clientSecret": "e8493098b9a280610a2ba9fa0b49f14035a9f048e8505cf4981f0555a2885655",
|
"clientSecret": "{{var_hedgedoc_oauth2_client_secret}}",
|
||||||
"scope": "openid email profile",
|
"scope": "openid email profile",
|
||||||
"userProfileUsernameAttr": "sub",
|
"userProfileUsernameAttr": "sub",
|
||||||
"userProfileDisplayNameAttr": "name",
|
"userProfileDisplayNameAttr": "name",
|
||||||
"userProfileEmailAttr": "email",
|
"userProfileEmailAttr": "email",
|
||||||
"userProfileUrl": "http://authelia.local:9091/api/oidc/userinfo",
|
"userProfileURL": "{{var_hedgedoc_oauth2_user_profile_url}}",
|
||||||
"tokenUrl": "http://authelia.local:9091/api/oidc/token",
|
"tokenURL": "{{var_hedgedoc_oauth2_token_url}}",
|
||||||
"authorizationUrl": "http://authelia.local:9091/api/oidc/authorize"
|
"authorizationURL": "{{var_hedgedoc_oauth2_authorization_url}}"
|
||||||
}
|
},
|
||||||
|
"email": false,
|
||||||
|
"allowEmailRegister": false,
|
||||||
|
{% else %}
|
||||||
|
"email": true,
|
||||||
|
"allowEmailRegister": true,
|
||||||
|
{% endif %}
|
||||||
|
"allowAnonymous": false,
|
||||||
|
"allowAnonymousEdits": true,
|
||||||
|
"allowFreeURL": true,
|
||||||
|
"requireFreeURLAuthentication": true,
|
||||||
|
"defaultPermission": "editable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
13
ansible/roles/hedgedoc/templates/systemd-unit.j2
Normal file
13
ansible/roles/hedgedoc/templates/systemd-unit.j2
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Hedgedoc
|
||||||
|
After=multi-user.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/hedgedoc
|
||||||
|
Environment=NODE_ENV=production
|
||||||
|
ExecStart=yarn start
|
||||||
|
SyslogIdentifier=hedgedoc
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
Loading…
Add table
Reference in a new issue