master
eorn 3 years ago
parent c15fdd0505
commit 523ac0fa60

3
.gitmodules vendored

@ -10,3 +10,6 @@
[submodule "config/borg/borg-dashboard-exporter"]
path = config/borg/borg-dashboard-exporter
url = https://framagit.org/framasoft/borgbackup/borg-dashboard-exporter
[submodule "apps/spacedeck-open"]
path = apps/spacedeck-open
url = https://github.com/spacedeck/spacedeck-open

@ -14,15 +14,15 @@ services:
labels:
- "traefik.enable=true"
- "traefik.docker.network=myweb"
- "traefik.http.middlewares.redirect-https.redirectScheme.scheme=https"
- "traefik.http.middlewares.redirect-https.redirectScheme.permanent=true"
#- "traefik.http.middlewares.redirect-https.redirectScheme.scheme=https"
#- "traefik.http.middlewares.redirect-https.redirectScheme.permanent=true"
- "traefik.http.routers.bitwarden-ui-https.rule=Host(`mdp.goe.land`)"
- "traefik.http.routers.bitwarden-ui-https.entrypoints=websecure"
- "traefik.http.routers.bitwarden-ui-https.tls=true"
- "traefik.http.routers.bitwarden-ui-https.service=bitwarden-ui"
- "traefik.http.routers.bitwarden-ui-http.rule=Host(`mdp.goe.land`)"
- "traefik.http.routers.bitwarden-ui-http.entrypoints=web"
- "traefik.http.routers.bitwarden-ui-http.middlewares=redirect-https"
#- "traefik.http.routers.bitwarden-ui-http.middlewares=redirect-https"
- "traefik.http.routers.bitwarden-ui-http.service=bitwarden-ui"
- "traefik.http.services.bitwarden-ui.loadbalancer.server.port=80"
- "traefik.http.routers.bitwarden-websocket-https.rule=Host(`mdp.goe.land`) && Path(`/notifications/hub`)"
@ -31,7 +31,7 @@ services:
- "traefik.http.routers.bitwarden-websocket-https.service=bitwarden-websocket"
- "traefik.http.routers.bitwarden-websocket-http.rule=Host(`mdp.goe.land`) && Path(`/notifications/hub`)"
- "traefik.http.routers.bitwarden-websocket-http.entrypoints=web"
- "traefik.http.routers.bitwarden-websocket-http.middlewares=redirect-https"
#- "traefik.http.routers.bitwarden-websocket-http.middlewares=redirect-https"
- "traefik.http.routers.bitwarden-websocket-http.service=bitwarden-websocket"
- "traefik.http.services.bitwarden-websocket.loadbalancer.server.port=3012"

@ -12,7 +12,7 @@ services:
- .env
freshrss:
image: freshrss/freshrss:1.16.2
image: freshrss/freshrss:1.17.0
restart: unless-stopped
depends_on:
- dbfreshrss

@ -24,12 +24,15 @@ services:
# - LOCAL_USER_ID=1000
labels:
- "traefik.enable=true"
- "traefik.http.routers.kresus.rule=Host(`thunes.goe.land`)"
- "traefik.http.routers.kresustls.rule=Host(`thunes.goe.land`)"
- "traefik.http.routers.kresus.entrypoints=web"
- "traefik.http.routers.kresustls.entrypoints=websecure"
- "traefik.http.routers.kresustls.tls=true"
- "traefik.http.routers.kresustls.tls.certresolver=letsencrypt"
- "traefik.http.routers.kresustls.tls.domains[0].main=*.goe.land"
- "traefik.http.routers.kresustls.middlewares=auth"
- "traefik.http.routers.kresus.middlewares=auth"
- "traefik.http.middlewares.auth.basicauth.users=${MY_USERNAME}:${MY_PASSWD}"
- "traefik.http.services.kresus.loadbalancer.server.port=9876"
- "traefik.docker.network=myweb"

@ -14,7 +14,7 @@ services:
synapse:
#image: docker.tedomum.net/tedomum/synapse:tedomum-prod
image: matrixdotorg/synapse:v1.19.1
image: matrixdotorg/synapse:v1.21.2
restart: unless-stopped
depends_on:
- dbsynapse
@ -45,7 +45,7 @@ services:
riot:
image: vectorim/riot-web:v1.7.5
image: vectorim/riot-web:v1.7.10
restart: unless-stopped
networks:
- myweb
@ -76,6 +76,17 @@ services:
ports:
- 29318:29318
mautrix-facebook:
image: dock.mau.dev/tulir/mautrix-facebook:latest
restart: unless-stopped
networks:
- myweb
volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/files/mautrix-facebook:/data/'
ports:
- 29319:29319
# discord-bridge:
# image: halfshot/matrix-appservice-discord:latest

@ -1,4 +1,4 @@
FROM nextcloud:19.0.1-apache
FROM nextcloud:20.0.1-apache
# This is for cron
RUN apt-get update && apt-get install -y \

@ -3,7 +3,7 @@ FROM elixir:1.10.1-alpine
ENV UID=911 GID=911 \
MIX_ENV=prod
ARG PLEROMA_VER=v2.1.1
ARG PLEROMA_VER=v2.1.2
RUN apk -U upgrade \
&& apk add --no-cache \

Binary file not shown.

@ -2,7 +2,7 @@ version: '3'
services:
shaarli:
image: shaarli/shaarli:v0.11.1
image: shaarli/shaarli:v0.12.0
restart: unless-stopped
networks:
- myweb

@ -6,7 +6,7 @@
*/
use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
use Shaarli\Render\TemplatePage;
/**
* Add qrcode icon to link_plugin when rendering linklist.
@ -19,11 +19,12 @@ function hook_qrcode_render_linklist($data)
{
$qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
$path = ($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH;
foreach ($data['links'] as &$value) {
$qrcode = sprintf(
$qrcode_html,
$value['url'],
PluginManager::$PLUGINS_PATH
$path
);
$value['link_plugin'][] = $qrcode;
}
@ -40,7 +41,7 @@ function hook_qrcode_render_linklist($data)
*/
function hook_qrcode_render_footer($data)
{
if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) {
if ($data['_PAGE_'] == TemplatePage::LINKLIST) {
$data['js_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/shaarli-qrcode.js';
}
@ -56,7 +57,7 @@ function hook_qrcode_render_footer($data)
*/
function hook_qrcode_render_includes($data)
{
if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) {
if ($data['_PAGE_'] == TemplatePage::LINKLIST) {
$data['css_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.css';
}

@ -0,0 +1,73 @@
<?php
/**
* Plugin qrcode
* Add QRCode containing URL for each links.
* Display a QRCode icon in link list.
*/
use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
* Add qrcode icon to link_plugin when rendering linklist.
*
* @param array $data - linklist data.
*
* @return mixed - linklist data with qrcode plugin.
*/
function hook_qrcode_render_linklist($data)
{
$qrcode_html = file_get_contents(PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.html');
foreach ($data['links'] as &$value) {
$qrcode = sprintf(
$qrcode_html,
$value['url'],
PluginManager::$PLUGINS_PATH
);
$value['link_plugin'][] = $qrcode;
}
return $data;
}
/**
* When linklist is displayed, include qrcode JS files.
*
* @param array $data - footer data.
*
* @return mixed - footer data with qrcode JS files added.
*/
function hook_qrcode_render_footer($data)
{
if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) {
$data['js_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/shaarli-qrcode.js';
}
return $data;
}
/**
* When linklist is displayed, include qrcode CSS file.
*
* @param array $data - header data.
*
* @return mixed - header data with qrcode CSS file added.
*/
function hook_qrcode_render_includes($data)
{
if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) {
$data['css_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.css';
}
return $data;
}
/**
* This function is never called, but contains translation calls for GNU gettext extraction.
*/
function qrcode_dummy_translation()
{
// meta
t('For each link, add a QRCode icon.');
}

@ -28,14 +28,15 @@
// Show the QR-Code of a permalink (when the QR-Code icon is clicked).
function showQrCode(caller,loading)
{
{
// Dynamic javascript lib loading: We only load qr.js if the QR code icon is clicked:
if (typeof(qr) == 'undefined') // Load qr.js only if not present.
{
if (!loading) // If javascript lib is still loading, do not append script to body.
{
var element = document.createElement("script");
element.src = "plugins/qrcode/qr-1.1.3.min.js";
var basePath = document.querySelector('input[name="js_base_path"]').value;
var element = document.createElement("script");
element.src = basePath + "/plugins/qrcode/qr-1.1.3.min.js";
document.body.appendChild(element);
}
setTimeout(function() { showQrCode(caller,true);}, 200); // Retry in 200 milliseconds.
@ -44,7 +45,7 @@ function showQrCode(caller,loading)
// Remove previous qrcode if present.
removeQrcode();
// Build the div which contains the QR-Code:
var element = document.createElement('div');
element.id = 'permalinkQrcode';
@ -57,11 +58,11 @@ function showQrCode(caller,loading)
// Damn IE
element.setAttribute('onclick', 'this.parentNode.removeChild(this);' );
}
// Build the QR-Code:
var image = qr.image({size: 8,value: caller.dataset.permalink});
if (image)
{
{
element.appendChild(image);
element.innerHTML += "<br>Click to close";
caller.parentNode.appendChild(element);
@ -87,4 +88,4 @@ function removeQrcode()
elem.parentNode.removeChild(elem);
}
return false;
}
}

@ -0,0 +1,90 @@
/** @licstart The following is the entire license notice for the
* JavaScript code in this page.
*
* Copyright: (c) 2011-2015 Sébastien SAUVAGE <sebsauvage@sebsauvage.net>
* (c) 2011-2017 The Shaarli Community, see AUTHORS
*
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from
* the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would
* be appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must
* not be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*
* @licend The above is the entire license notice
* for the JavaScript code in this page.
*/
// Show the QR-Code of a permalink (when the QR-Code icon is clicked).
function showQrCode(caller,loading)
{
// Dynamic javascript lib loading: We only load qr.js if the QR code icon is clicked:
if (typeof(qr) == 'undefined') // Load qr.js only if not present.
{
if (!loading) // If javascript lib is still loading, do not append script to body.
{
var element = document.createElement("script");
element.src = "plugins/qrcode/qr-1.1.3.min.js";
document.body.appendChild(element);
}
setTimeout(function() { showQrCode(caller,true);}, 200); // Retry in 200 milliseconds.
return false;
}
// Remove previous qrcode if present.
removeQrcode();
// Build the div which contains the QR-Code:
var element = document.createElement('div');
element.id = 'permalinkQrcode';
// Make QR-Code div commit sepuku when clicked:
if ( element.attachEvent ){
element.attachEvent('onclick', 'this.parentNode.removeChild(this);' );
} else {
// Damn IE
element.setAttribute('onclick', 'this.parentNode.removeChild(this);' );
}
// Build the QR-Code:
var image = qr.image({size: 8,value: caller.dataset.permalink});
if (image)
{
element.appendChild(image);
element.innerHTML += "<br>Click to close";
caller.parentNode.appendChild(element);
// Show the QRCode
qrcodeImage = document.getElementById('permalinkQrcode');
// Workaround to deal with newly created element lag for transition.
window.getComputedStyle(qrcodeImage).opacity;
qrcodeImage.className = 'show';
}
else
{
element.innerHTML = "Your browser does not seem to be HTML5 compatible.";
}
return false;
}
// Remove any displayed QR-Code
function removeQrcode()
{
var elem = document.getElementById('permalinkQrcode');
if (elem) {
elem.parentNode.removeChild(elem);
}
return false;
}

@ -1 +1 @@
Subproject commit e48b471c0b89d40a165086723aa26491d4472fab
Subproject commit 6c8a93ad0c9e0cdd1b2d999833f4ed0d6b3f2035

@ -0,0 +1 @@
Subproject commit 7c6d5c83db6b89042f81ad10a5c882b7c1459ea0

@ -1 +0,0 @@
Subproject commit 7ac0f0e56c444ee5796d4d8e4b115afb30b0ea29

@ -1 +0,0 @@
Subproject commit a3fba6111d6560c3377fbcc9519a85ada9f489df

@ -54,21 +54,21 @@ hooks:
# List of one or more shell commands or scripts to execute before creating a
# backup, run once per configuration file.
before_backup:
- echo "Starting a backup."
- /srv/config/borg/scripts/dump_database.sh -t mysql -s bzhbitume -c mariadbbzhbitume
- /srv/config/borg/scripts/dump_database.sh -t mysql -s codimd -c dbcodimd
- /srv/config/borg/scripts/dump_database.sh -t mysql -s codimdcorre -c dbcodimdcorre
- /srv/config/borg/scripts/dump_database.sh -t postgres -s etherpad -c dbetherpad
- /srv/config/borg/scripts/dump_database.sh -t postgres -s freshrss -c dbfreshrss
- /srv/config/borg/scripts/dump_database.sh -t postgres -s funkwhale -c postgresqlfunkwhale
- /srv/config/borg/scripts/dump_database.sh -t postgres -s gitea -c dbgitea
- /srv/config/borg/scripts/dump_database.sh -t postgres -s kresus -c dbkresus
- /srv/config/borg/scripts/dump_database.sh -t postgres -s matrix -c dbsynapse
#- /srv/config/borg/scripts/dump_database.sh -t postgres -s mobilizon -c dbmobilizon
- /srv/config/borg/scripts/dump_database.sh -t mysql -s nextcloud -c dbnextcloud
- /srv/config/borg/scripts/dump_database.sh -t postgres -s pixelfed -c dbpixelfed
- /srv/config/borg/scripts/dump_database.sh -t postgres -s pleroma -c dbpleroma
- /srv/config/borg/scripts/dump_database.sh -t postgres -s wallabag -c postgresqlwallabag
- echo "Starting a backup."
- /srv/config/borg/scripts/dump_database.sh -t mysql -s bzhbitume -c mariadbbzhbitume
- /srv/config/borg/scripts/dump_database.sh -t mysql -s codimd -c dbcodimd
- /srv/config/borg/scripts/dump_database.sh -t mysql -s codimdcorre -c dbcodimdcorre
- /srv/config/borg/scripts/dump_database.sh -t postgres -s etherpad -c dbetherpad
- /srv/config/borg/scripts/dump_database.sh -t postgres -s freshrss -c dbfreshrss
- /srv/config/borg/scripts/dump_database.sh -t postgres -s funkwhale -c postgresqlfunkwhale
- /srv/config/borg/scripts/dump_database.sh -t postgres -s gitea -c dbgitea
- /srv/config/borg/scripts/dump_database.sh -t postgres -s kresus -c dbkresus
- /srv/config/borg/scripts/dump_database.sh -t postgres -s matrix -c dbsynapse
#- /srv/config/borg/scripts/dump_database.sh -t postgres -s mobilizon -c dbmobilizon
- /srv/config/borg/scripts/dump_database.sh -t mysql -s nextcloud -c dbnextcloud
- /srv/config/borg/scripts/dump_database.sh -t postgres -s pixelfed -c dbpixelfed
- /srv/config/borg/scripts/dump_database.sh -t postgres -s pleroma -c dbpleroma
- /srv/config/borg/scripts/dump_database.sh -t postgres -s wallabag -c postgresqlwallabag
# List of one or more shell commands or scripts to execute after creating a
# backup, run once per configuration file.

@ -5,7 +5,7 @@ version: '3'
services:
traefik:
image: traefik:v2.2.11
image: traefik:v2.3.2
restart: always
ports:
- 80:80

Loading…
Cancel
Save