Support adding custom assets
This commit is contained in:
parent
2e0cfb1845
commit
745f02aa6f
|
@ -12,6 +12,7 @@ ENV PATH=/usr/libexec/lemonldap-ng/bin:${PATH} \
|
|||
LLNG_SOCKET_PROTO=uwsgi \
|
||||
LLNG_MANAGER_VHOST=manager.example.org \
|
||||
LLNG_PORTAL_VHOST=auth.example.org \
|
||||
LLNG_CUSTOM_ASSETS_DIR=/usr/share/lemonldap-ng/portal/htdocs \
|
||||
EDITOR=vi
|
||||
|
||||
COPY root/etc/yum.repos.d/ /etc/yum.repos.d/
|
||||
|
|
|
@ -100,7 +100,12 @@ http {
|
|||
}
|
||||
|
||||
location /static/ {
|
||||
alias /usr/share/lemonldap-ng/portal/htdocs/static/;
|
||||
root /usr/share/lemonldap-ng/portal/htdocs;
|
||||
try_files $uri @customassets;
|
||||
}
|
||||
|
||||
location @customassets {
|
||||
root ${LLNG_CUSTOM_ASSETS_DIR};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,12 +70,22 @@ job "[[ .instance ]]" {
|
|||
policies = ["[[ .instance ]][[ .consul.suffix ]]"]
|
||||
}
|
||||
|
||||
[[- range $k1, $v1 := .llng.portal.assets ]]
|
||||
[[- range $k2, $v2 := $v1 ]]
|
||||
artifact {
|
||||
source = "[[ $v2.url ]]"
|
||||
destination = "local/assets/static/common/[[ $k1 ]]"
|
||||
}
|
||||
[[- end ]]
|
||||
[[- end ]]
|
||||
|
||||
env {
|
||||
LLNG_NGINX_LISTEN = "127.0.0.1:8080"
|
||||
LLNG_LISTEN = "unix:/tmp/llng.sock"
|
||||
LLNG_MANAGER_VHOST = [[ (urlParse .llng.manager.public_url).Hostname | toJSON ]]
|
||||
LLNG_PORTAL_VHOST = [[ (urlParse .llng.portal.public_url).Hostname | toJSON ]]
|
||||
CTD_CONFIG = "/local/caretakerd.yaml"
|
||||
LLNG_NGINX_LISTEN = "127.0.0.1:8080"
|
||||
LLNG_LISTEN = "unix:/tmp/llng.sock"
|
||||
LLNG_MANAGER_VHOST = [[ (urlParse .llng.manager.public_url).Hostname | toJSON ]]
|
||||
LLNG_PORTAL_VHOST = [[ (urlParse .llng.portal.public_url).Hostname | toJSON ]]
|
||||
LLNG_CUSTOM_ASSETS_DIR = "/local/assets"
|
||||
CTD_CONFIG = "/local/caretakerd.yaml"
|
||||
}
|
||||
|
||||
[[ template "common/file_env" $c.env ]]
|
||||
|
|
|
@ -9,6 +9,24 @@ localSessionStorageOptions = { \
|
|||
'cache_depth' => 3 \
|
||||
}
|
||||
|
||||
[[- range $stor := coll.Slice "global" "persistent" "saml" "oidc" "cas" ]]
|
||||
[[ $stor ]]Storage = Apache::Session::Browseable::PgJSON
|
||||
[[ $stor ]]StorageOptions = { \
|
||||
'DataSource' => 'DBI:Pg:', \
|
||||
'TableName' => '[[ if eq $stor "global" ]][[ else if eq $stor "persistent" ]]p[[ else ]][[ $stor ]][[ end ]]sessions', \
|
||||
'generateModule' => 'Lemonldap::NG::Common::Apache::Session::Generate::SHA256', \
|
||||
'Commit' => 1 \
|
||||
}
|
||||
|
||||
[[- end ]]
|
||||
|
||||
notificationStorage = DBI
|
||||
notificationStorageOptions = { \
|
||||
'dbiChain' => 'DBI:Pg:', \
|
||||
'dbiTable' => 'notifications', \
|
||||
'type' => 'CDBI', \
|
||||
}
|
||||
|
||||
[configuration]
|
||||
useServerEnv = 1
|
||||
type = CDBI
|
||||
|
@ -35,20 +53,3 @@ templateDir = /usr/share/lemonldap-ng/portal/templates
|
|||
languages = [[ join .llng.portal.languages ", " ]]
|
||||
forceGlobalStorageUpgradeOTT = 1
|
||||
|
||||
notificationStorage = DBI
|
||||
notificationStorageOptions = { \
|
||||
'dbiChain' => 'DBI:Pg:', \
|
||||
'dbiTable' => 'notifications', \
|
||||
'type' => 'CDBI', \
|
||||
}
|
||||
|
||||
[[- range $stor := coll.Slice "global" "persistent" "saml" "oidc" "cas" ]]
|
||||
[[ $stor ]]Storage = Apache::Session::Browseable::PgJSON
|
||||
[[ $stor ]]StorageOptions = { \
|
||||
'DataSource' => 'DBI:Pg:', \
|
||||
'TableName' => '[[ if eq $stor "global" ]][[ else if eq $stor "persistent" ]]p[[ else ]][[ $stor ]][[ end ]]sessions', \
|
||||
'generateModule' => 'Lemonldap::NG::Common::Apache::Session::Generate::SHA256', \
|
||||
'Commit' => 1 \
|
||||
}
|
||||
|
||||
[[- end ]]
|
||||
|
|
|
@ -12,7 +12,7 @@ llng:
|
|||
count: 1
|
||||
|
||||
# Docker image to use
|
||||
image: '[[ .docker.repo ]]lemonldap-ng:2.18.1-1'
|
||||
image: '[[ .docker.repo ]]lemonldap-ng:2.18.1-2'
|
||||
|
||||
# Resource allocation
|
||||
resources:
|
||||
|
@ -53,6 +53,101 @@ llng:
|
|||
- it
|
||||
- de
|
||||
|
||||
# Custom assets to download. Files will be downloaded and made available for portal customizations
|
||||
assets:
|
||||
apps:
|
||||
backuppc.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/backuppc.png
|
||||
bitwarden.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/bitwarden.png
|
||||
bookstack.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/bookstack.png
|
||||
calendar.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/calendar.png
|
||||
diagrams.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/diagrams.png
|
||||
dokuwiki.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/dokuwiki.png
|
||||
element.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/element.png
|
||||
etherpad.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/etherpad.png
|
||||
firewall.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/firewall.png
|
||||
freepbx.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/freepbx.png
|
||||
gitea.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/gitea.png
|
||||
glpi.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/glpi.png
|
||||
grafana.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/grafana.png
|
||||
jenkins.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/jenkins.png
|
||||
jitsi.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/jitsi.png
|
||||
kibana.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/kibana.png
|
||||
kimai.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/kimai.png
|
||||
lemonldap.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/lemonldap.png
|
||||
matrix.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/matrix.png
|
||||
metabase.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/metabase.png
|
||||
miniflux.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/miniflux.png
|
||||
n8n.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/n8n.png
|
||||
navidrome.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/navidrome.png
|
||||
odoo.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/odoo.png
|
||||
openxpki.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/openxpki.png
|
||||
paperless.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/paperless.png
|
||||
penpot.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/penpot.png
|
||||
pfsense.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/pfsense.png
|
||||
pgadmin.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/pgadmin.png
|
||||
proxmox.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/proxmox.png
|
||||
rabbitmq.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/rabbitmq.png
|
||||
registry.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/registry.png
|
||||
seafile.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/seafile.png
|
||||
sentry.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/sentry.png
|
||||
sftpgo.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/sftpgo.png
|
||||
sonar.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/sonar.png
|
||||
soti.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/soti.png
|
||||
squashtm.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/squashtm.png
|
||||
transmission.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/transmission.png
|
||||
unifi.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/unifi.png
|
||||
wordpress.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/wordpress.png
|
||||
zabbix.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/zabbix.png
|
||||
zimbra.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/zimbra.png
|
||||
zulip.png:
|
||||
url: https://git.lapiole.org/dani/ansible-roles/raw/branch/master/roles/lemonldap_ng/files/logos/zulip.png
|
||||
logos: {}
|
||||
backgrounds: {}
|
||||
css: {}
|
||||
|
||||
# Traefik settings
|
||||
traefik:
|
||||
|
||||
|
|
Loading…
Reference in New Issue