First build
127
site/404.html
Normal file
@@ -0,0 +1,127 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" href="/img/favicon.ico" />
|
||||
<title>Savanewiki</title>
|
||||
<link rel="stylesheet" href="/css/theme.css" />
|
||||
<link rel="stylesheet" href="/css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="/." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="//search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/.">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Synology/">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Synology/2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Synology/2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Synology/2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="/about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="/.">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="/." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
|
||||
<h1 id="404-page-not-found">404</h1>
|
||||
|
||||
<p><strong>Page not found</strong></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="/js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "/";</script>
|
||||
<script src="/js/theme_extra.js"></script>
|
||||
<script src="/js/theme.js"></script>
|
||||
<script src="/search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,210 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Ansible/2023-10-01-nextcloud-docker-update-from-ansible/" />
|
||||
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
||||
<title>Mise à jour de Nextcloud docker par Ansible - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../../css/theme.css" />
|
||||
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Mise \u00e0 jour de Nextcloud docker par Ansible";
|
||||
var mkdocs_page_input_path = "Ansible/2023-10-01-nextcloud-docker-update-from-ansible.md";
|
||||
var mkdocs_page_url = "/Ansible/2023-10-01-nextcloud-docker-update-from-ansible/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="../.." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Synology/">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Synology/2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Synology/2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Synology/2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#prerequis">Prérequis</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#le-playbook">Le playbook</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Ansible</li>
|
||||
<li class="breadcrumb-item active">Mise à jour de Nextcloud docker par Ansible</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="mise-a-jour-de-nextcloud-docker-par-ansible">Mise à jour de Nextcloud docker par Ansible</h1>
|
||||
<h2 id="prerequis">Prérequis</h2>
|
||||
<p><a href="../../Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l’aide d’une clef asymétrique.</a></p>
|
||||
<h2 id="le-playbook">Le playbook</h2>
|
||||
<pre><code class="language-yaml">---
|
||||
- name: Mise à jour du conteneur Nextcloud
|
||||
hosts: savaneprod.fr
|
||||
vars:
|
||||
nc_version: 27.1.3
|
||||
tasks:
|
||||
- name: Modification de la versions dans le docker-compose
|
||||
ansible.builtin.lineinfile:
|
||||
path: /volume1/nextcloud/docker-compose.yaml
|
||||
backrefs: true
|
||||
backup: false
|
||||
state: present
|
||||
regexp: "^ image: nextcloud:"
|
||||
line: " image: nextcloud:{{ nc_version }}"
|
||||
|
||||
- name: "Téléchargement de l'image nextcloud: {{ nc_version }}"
|
||||
community.docker.docker_image:
|
||||
# Needed on DSM : pip3 install docker
|
||||
name: nextcloud
|
||||
source: pull
|
||||
tag: '{{ nc_version }}'
|
||||
|
||||
- name: Compose down & compose up detached
|
||||
# Needed on DSM : pip3 install docker-compose
|
||||
community.docker.docker_compose:
|
||||
project_src: "/volume1/nextcloud"
|
||||
recreate: smart
|
||||
|
||||
- name: Pause de 30 secondes
|
||||
ansible.builtin.pause:
|
||||
seconds: 30
|
||||
|
||||
- name: Pause en attendant la remontée des conteneurs
|
||||
ansible.builtin.pause:
|
||||
minutes: 2
|
||||
|
||||
- name: "Mise à jour de la base de données"
|
||||
community.docker.docker_container_exec:
|
||||
container: nextcloud_app_1
|
||||
tty: true
|
||||
user: www-data
|
||||
command: "{{ item }}"
|
||||
loop:
|
||||
- "php occ db:add-missing-columns"
|
||||
- "php occ db:add-missing-indices"
|
||||
- "php occ db:add-missing-primary-keys"
|
||||
|
||||
- name: Modification du fichier .htaccess pour Mac
|
||||
tags: caldav
|
||||
ansible.builtin.lineinfile:
|
||||
path: /volume1/nextcloud/data/.htaccess
|
||||
backup: false
|
||||
state: present
|
||||
search_string: "{{ item.search_string }}"
|
||||
line: "{{ item.line }}"
|
||||
loop:
|
||||
- { search_string: 'RewriteRule ^\.well-known/carddav', line: ' RewriteRule ^\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]' }
|
||||
- { search_string: 'RewriteRule ^\.well-known/caldav', line: ' RewriteRule ^\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]' }
|
||||
|
||||
</code></pre>
|
||||
<p>=> Cette façon de faire renvoi un problème d'intégrité sur le fichier config.php.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../../Synology/2021-02-06-restore-time-machine-backup/" class="btn btn-neutral float-left" title="Restaurer un mac depuis une sauvegarde Time machine."><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../../about/" class="btn btn-neutral float-right" title="About">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../../Synology/2021-02-06-restore-time-machine-backup/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../../about/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "../..";</script>
|
||||
<script src="../../js/theme_extra.js"></script>
|
||||
<script src="../../js/theme.js"></script>
|
||||
<script src="../../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,233 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/" />
|
||||
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
||||
<title>Se connecter en SSH au Synology à l'aide d'une clef asymétrique. - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../../css/theme.css" />
|
||||
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Se connecter en SSH au Synology \u00e0 l\u0027aide d\u0027une clef asym\u00e9trique.";
|
||||
var mkdocs_page_input_path = "Synology/2019-09-01-access-synology-with-ssh-asymetrical-key.md";
|
||||
var mkdocs_page_url = "/Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="../.." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#generation-de-la-clef-ssh">Génération de la clef SSH.</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#transfert-de-la-clef-sur-le-synology">Transfert de la clef sur le Synology.</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#modification-de-la-configuration-de-sshd">Modification de la configuration de sshd</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#le-serveur-ssh">Le serveur ssh.</a>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#redemarrage-du-service-sshd-depuis-linterface-dsm">Redémarrage du service sshd depuis l'interface DSM.</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Synology</li>
|
||||
<li class="breadcrumb-item active">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="se-connecter-en-ssh-au-synology-a-laide-dune-clef-asymetrique">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</h1>
|
||||
<h2 id="generation-de-la-clef-ssh">Génération de la clef SSH.</h2>
|
||||
<ul>
|
||||
<li>On génère la clef :</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">ssh-keygen -o -b 521 -t ecdsa -C "mon login que je n'ai plus envie de saisir"
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li><code>-t ecdsa</code> pour l'agorithme de signature numérique basé sur une courbe elliptique (Elliptic Curve Digital Signature Algorithm)</li>
|
||||
<li><code>-b 521</code> pour le nombre de bits.</li>
|
||||
<li>
|
||||
<p><code>-C "quelquechose"</code> pour savoir à quoi sert cette clef. Généralement on y met le nom d'utilisateur lié ou une adresse courriel.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Quand on exécute la commande :</p>
|
||||
</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash"># Generating public/private ecdsa key pair.
|
||||
Enter file in which to save the key (/home/user/.ssh/id_ecdsa): /home/user/.ssh/syno_key
|
||||
Enter passphrase (empty for no passphrase):
|
||||
Enter same passphrase again:
|
||||
# Your identification has been saved in /home/user/.ssh/syno_key
|
||||
# Your public key has been saved in /home/user/.ssh/syno_key.pub
|
||||
# The key fingerprint is:
|
||||
# SHA256:IjVg4Tu0/qiLP7MC3TBFluQeEo7jQSWrKu8HgpYLai4 mon login que je n'ai plus envie de saisir
|
||||
# The key's randomart image is:
|
||||
#+---[ECDSA 521]---+
|
||||
#| oo+Bo |
|
||||
#|.oo*o. |
|
||||
#|ooo.= o |
|
||||
#|o.++ = . |
|
||||
#|oo.+* . S |
|
||||
#|*oo..o . |
|
||||
#|B.... |
|
||||
#|E=o .o |
|
||||
#|==BB. . |
|
||||
#+----[SHA256]-----+
|
||||
</code></pre>
|
||||
<p>Ce qu'il est bon de faire. C'est de tout de suite sauvegarder le couple de clef. La privée surtout. Avoir défini un mot de passe sur la clef permet d'augmenter son niveau de protection. Il faut se souvenir du mot de passe, bien entendu.</p>
|
||||
<h2 id="transfert-de-la-clef-sur-le-synology">Transfert de la clef sur le Synology.</h2>
|
||||
<ul>
|
||||
<li>Ça tombe bien. Il existe aussi une commande pour ça.</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">ssh-copy-id -i /home/user/.ssh/syno_key.pub mon-login@mon-syno
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>
|
||||
<p>On copie bien la clef publique, hein ! La clef privée est, et doit, restée privée bien au chaud.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Particularité du Synology, il stocke la clef à un endroit pas commun :</p>
|
||||
</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">/var/services/homes/mon-login/.ssh/authorized_keys
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Si on veut impressionner, il y a possiblité de transférer la clef de la manière suivante :</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">ssh mon-login@mon-syno "/bin/cat >> /var/services/homes/mon-login/.ssh/authorized_keys" < /home/user/.ssh/syno_key.pub
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Vérifier les droits des fichiers :</li>
|
||||
<li><code>sudo -i</code></li>
|
||||
<li><code>chmod 711 /var/services/homes/mon-login</code> (755 à l'origine)</li>
|
||||
<li><code>chmod 700 /var/services/homes/mon-login/.ssh</code> (700 à l'origine)</li>
|
||||
<li><code>chmod 600 /var/services/homes/mon-login/.ssh/authorized_keys</code> (644 à l'origine)</li>
|
||||
</ul>
|
||||
<h2 id="modification-de-la-configuration-de-sshd">Modification de la configuration de sshd</h2>
|
||||
<h3 id="le-serveur-ssh">Le serveur ssh.</h3>
|
||||
<p><code>vi /etc/ssh/sshd_config</code>
|
||||
- Les trois lignes suivantes sont importantes :</p>
|
||||
<pre><code class="language-bash">RSAAuthentication yes
|
||||
PubkeyAuthentication yes
|
||||
|
||||
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
||||
# but this is overridden so installations will only check .ssh/authorized_keys
|
||||
AuthorizedKeysFile .ssh/authorized_keys
|
||||
</code></pre>
|
||||
<h3 id="redemarrage-du-service-sshd-depuis-linterface-dsm">Redémarrage du service sshd depuis l'interface DSM.</h3>
|
||||
<p><img alt="Synology control pannel. Where to stop and start sshd service." src="../sshd_restart.png" /></p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../" class="btn btn-neutral float-left" title="Liens relatifs à l'utilisation de Synology DSM."><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../2019-12-16-wildcard-lets-encrypt-certificate/" class="btn btn-neutral float-right" title="Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../2019-12-16-wildcard-lets-encrypt-certificate/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "../..";</script>
|
||||
<script src="../../js/theme_extra.js"></script>
|
||||
<script src="../../js/theme.js"></script>
|
||||
<script src="../../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,201 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Synology/2019-12-16-wildcard-lets-encrypt-certificate/" />
|
||||
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
||||
<title>Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt. - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../../css/theme.css" />
|
||||
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "G\u00e9n\u00e9rer et mettre \u00e0 jour automatiquement un certificat \"wildcard\" let\u0027s encrypt.";
|
||||
var mkdocs_page_input_path = "Synology/2019-12-16-wildcard-lets-encrypt-certificate.md";
|
||||
var mkdocs_page_url = "/Synology/2019-12-16-wildcard-lets-encrypt-certificate/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="../.." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#installation-de-acmesh">Installation de acme.sh</a>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#mise-a-jour-automatique-du-certificat">Mise à jour automatique du certificat</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#chez-gandi">Chez Gandi</a>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#le-script-de-mise-a-jour">Le script de mise à jour</a>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#la-conf-dans-dsm-dans-le-planificateur-de-taches">La conf dans DSM dans le planificateur de tâches</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Synology</li>
|
||||
<li class="breadcrumb-item active">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="generer-et-mettre-a-jour-automatiquement-un-certificat-wildcard-lets-encrypt">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</h1>
|
||||
<h2 id="installation-de-acmesh">Installation de acme.sh</h2>
|
||||
<pre><code class="language-bash"># 1 - Beeing root
|
||||
|
||||
SYNOPATH="/volume1/something"
|
||||
cd $SYNOPATH
|
||||
|
||||
git clone https://github.com/acmesh-official/acme.sh.git
|
||||
|
||||
./acme.sh/acme.sh --install --nocron --home $SYNOPATH/acme.sh/.acme.sh --accountemail "admin@savaneprod.fr"
|
||||
</code></pre>
|
||||
<p>Sur DSM, les certificats se trouvent dans <code>/usr/syno/etc/certificate/_archive/</code>.</p>
|
||||
<h2 id="mise-a-jour-automatique-du-certificat">Mise à jour automatique du certificat</h2>
|
||||
<h3 id="chez-gandi">Chez Gandi</h3>
|
||||
<p>Utilsation de l'API Gandi : <a href="https://github.com/acmesh-official/acme.sh/wiki/dnsapi#18-use-gandi-livedns-api">https://github.com/acmesh-official/acme.sh/wiki/dnsapi#18-use-gandi-livedns-api</a></p>
|
||||
<h3 id="le-script-de-mise-a-jour">Le script de mise à jour</h3>
|
||||
<pre><code class="language-bash">SYNOPATH="/volume1/something"
|
||||
|
||||
jour=$(date +%Y-%m-%d)
|
||||
file='$SYNOPATH/Certificats/'$jour'.log'
|
||||
|
||||
HOME_orig=$HOME
|
||||
HOME="$SYNOPATH/Certificats/.acme.sh"
|
||||
|
||||
export GANDI_LIVEDNS_KEY="la clef récupérée chez Gandi"
|
||||
|
||||
export SYNO_Certificate="savaneprod.fr cert"
|
||||
export SYNO_Create=0
|
||||
export SYNO_Username="admin_c_pas_top"
|
||||
export SYNO_Password="Un mdp de ouf"
|
||||
|
||||
echo "*********************************************" 2>&1 | tee -a $file
|
||||
echo " Mise à jour du certificat *.savaneprod.fr" 2>&1 | tee -a $file
|
||||
echo "*********************************************" 2>&1 | tee -a $file
|
||||
|
||||
bash $SYNOPATH/Certificats/acme.sh/acme.sh --home $HOME --renew -d savaneprod.fr -d '*.savaneprod.fr' --dns dns_gandi_livedns --force --log 2>&1 | tee -a $file
|
||||
bash $SYNOPATH/Certificats/acme.sh/acme.sh --home $HOME -d savaneprod.fr -d "*.savaneprod.fr" --deploy --deploy-hook synology_dsm --log 2>&1 | tee -a $file
|
||||
|
||||
echo "---------------------------------" 2>&1 | tee -a $file
|
||||
echo " Fin du script de mise à jour." 2>&1 | tee -a $file
|
||||
echo "*********************************" 2>&1 | tee -a $file
|
||||
</code></pre>
|
||||
<h3 id="la-conf-dans-dsm-dans-le-planificateur-de-taches">La conf dans DSM dans le planificateur de tâches</h3>
|
||||
<p><img alt="Planificateur de tâche, onglet "General"" src="../task_general-tab.png" /></p>
|
||||
<p>J'ai finalement décidé de renouveler tous les mois parce que le Synology propose tous les 3 mois mais la durée de vie du certificat est légèrement inférieure. Et je n'ai pas cherché à configurer le renouvellement tous les deux mois.
|
||||
<img alt="Planificateur de tâches, onglet "Schedule"" src="../task_Schedule-tab.png" /></p>
|
||||
<p>Exécution du script. Il faut bien entendu que le script ait la permission d'éxécution configurée.
|
||||
<img alt="Planificateur de tâches, onglet "Task Settings"" src="../task_setting-tab.png" /></p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../2019-09-01-access-synology-with-ssh-asymetrical-key/" class="btn btn-neutral float-left" title="Se connecter en SSH au Synology à l'aide d'une clef asymétrique."><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../2020-12-04-borg-backup/" class="btn btn-neutral float-right" title="Sauvegarde externalisée grâce à Borg Backup">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../2019-09-01-access-synology-with-ssh-asymetrical-key/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../2020-12-04-borg-backup/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "../..";</script>
|
||||
<script src="../../js/theme_extra.js"></script>
|
||||
<script src="../../js/theme.js"></script>
|
||||
<script src="../../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
241
site/Synology/2020-12-04-borg-backup/index.html
Normal file
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Synology/2020-12-04-borg-backup/" />
|
||||
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
||||
<title>Sauvegarde externalisée grâce à Borg Backup - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../../css/theme.css" />
|
||||
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Sauvegarde externalis\u00e9e gr\u00e2ce \u00e0 Borg Backup";
|
||||
var mkdocs_page_input_path = "Synology/2020-12-04-borg-backup.md";
|
||||
var mkdocs_page_url = "/Synology/2020-12-04-borg-backup/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="../.." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
<ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="#installation-de-borg-sur-le-synology">Installation de Borg sur le Synology</a>
|
||||
<ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#le-depot-de-synocommunity">Le dépot de Synocommunity</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#script-de-sauvegarde-avec-borg">Script de sauvegarde avec Borg</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Synology</li>
|
||||
<li class="breadcrumb-item active">Sauvegarde externalisée grâce à Borg Backup</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="la-sauvegarde-de-savanecloudfr">La sauvegarde de savanecloud.fr</h1>
|
||||
<p>J'ai découvert "Borg" lors du stage concluant ma formation de reconversion professionnelle. L'outil est simple, efficace, disponible sur Synology DSM et il existe des fournisseurs de services spécialisés chez lesquels, on peut externaliser nos sauvegardes.
|
||||
Mais me direz-vous pourquoi externaliser des sauvegardes ? Beh ouais, avec un NAS en RAID 1 j'ai peu de risque de perdre mes données.
|
||||
Effectivement. Mais le risque existe. Matérialisé par un cambriolage ou une destruction malencontreuse dudit NAS. Bref. Un jour j'ai eu peur et j'ai pris au sérieux la sauvegarde en dehors du cadre professionnel. Et bien entendu, laisser faire le boulot par Google, Dropbox, feu Hubic ou Microsoft ne me plaisais pas beaucoup.</p>
|
||||
<ul>
|
||||
<li>Borg backup : https://github.com/borgbackup/borg/</li>
|
||||
<li>BorgBase : https://www.borgbase.com</li>
|
||||
</ul>
|
||||
<h2 id="installation-de-borg-sur-le-synology">Installation de Borg sur le Synology</h2>
|
||||
<h3 id="le-depot-de-synocommunity">Le dépot de Synocommunity</h3>
|
||||
<p>Le paquet n'est pas disponible par défaut dans le dépôt ("repository", dire "ripo" pour les franglophones) de DSM. Pour l'obtenir, il faut ajouter un dépôt depuis les paramètres du gestionnaire de paquets de DSM. Le dépôt que j'utilise est celui de <a href="https://synocommunity.com/">SynoCommunity</a>.
|
||||
<img alt="Ajout d'un dépôt dans le gestionnaire de paquets de DSM." src="../borg_synocommunity.png" />
|
||||
Ensuite il suffit de raffraîchir la liste des paquets disponibles et Borg Apparaît. Vous noterez en bas que Borg nécessite Python 3.11, cette dépendance est aussi à installer depuis le dépôt de SynoCommunity.
|
||||
<img alt="Fiche descriptive du paquet Borg" src="../borg_package.png" /></p>
|
||||
<h2 id="script-de-sauvegarde-avec-borg">Script de sauvegarde avec Borg</h2>
|
||||
<pre><code class="language-bash">#!/bin/bash
|
||||
# borg init --encryption=keyfile-blake2 /volume1/Backup/borgrepolzma/
|
||||
|
||||
#Formatage et mise en page
|
||||
stars='***************************************************************************'
|
||||
|
||||
# Pour le calcul d'exécutoin du script
|
||||
start_time=$(date +%s)
|
||||
|
||||
log_file='/volume1/Backup/logs/'$(date +%Y-%m-%d--%Hh%M)'_borgbase.log'
|
||||
|
||||
echo $(date +%d\ %b\ %Y\ %H:%M:%S) 2>&1 | tee -a $log_file
|
||||
|
||||
# Définition des variables d'environnement pour simplifier les commandes
|
||||
# export BORG_RSH=<clef privée pour sauvegarder sur le serveur distant>
|
||||
# export BORG_REPO='borgserver:/borgrepo'
|
||||
export BORG_REPO='borgserver:borgrepo'
|
||||
export BORG_CACHE_DIR='<emplacement du cache de Borg>'
|
||||
|
||||
# Cron n'a pas de $HOME
|
||||
export HOME=/root
|
||||
|
||||
# Suite l'erreur "Attempting to access a previously unknown unencrypted repository!"
|
||||
# Apparue le 28/05/2020
|
||||
export BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=yes
|
||||
|
||||
printf '\n%s\n%s\n%s\n' $stars "Début de la sauvegarde " $stars 2>&1 | tee -a $log_file
|
||||
|
||||
# Préparation de la sauvegarde du nextcloud
|
||||
docker exec -tiu www-data nextcloud_app_1 php occ maintenance:mode --on 2>&1 | tee -a $log_file
|
||||
sleep 1m 2>&1 | tee -a $log_file
|
||||
|
||||
# Dump de la base de données Postgres
|
||||
docker exec -i nextcloud_db_1 /usr/bin/pg_dump -U nextcloud nextcloud | gzip -9 > /volume1/nextcloud/db_dump.sql.gz 2>&1 | tee -a $log_file
|
||||
# Restaurer la BDD
|
||||
# docker exec nextcloud_db_1 pg_restore -U postgres -d nexcloud /backups/db_dump.sql
|
||||
|
||||
/usr/local/bin/borg create \
|
||||
--one-file-system \
|
||||
--stats \
|
||||
--compression lz4 \
|
||||
::{now:%Y-%m-%d--%Hh%M} \
|
||||
/volume1/dir1 \
|
||||
/volume1/dir2 \
|
||||
/volume1/nextcloud \
|
||||
--exclude /volume1/nextcloud/db \
|
||||
2>&1 | tee -a $log_file
|
||||
# ne pas sauvegarder les fichiers du conteneur postgres
|
||||
#--exclude /volume1/nextcloud/db \
|
||||
|
||||
# Fin de la sauvegarde
|
||||
docker exec -tiu www-data nextcloud_app_1 php occ maintenance:mode --off 2>&1 | tee -a $log_file
|
||||
|
||||
printf '\n%s\n%s\n%s\n' $stars "PRUNE" $stars 2>&1 | tee -a $log_file
|
||||
|
||||
# Keep 31 end of day, 0 additional end of week archives, and 0 end of month archive
|
||||
/usr/local/bin/borg prune -v --list --stats --keep-daily=31 --keep-weekly=0 --keep-monthly=0 2>&1 | tee -a $log_file
|
||||
printf '\n%s\n' '--- Fin de la sauvegarde ---' 2>&1 | tee -a $log_file
|
||||
|
||||
printf '\n%s\n%s\n%s\n' $stars "borg info" $stars >> $log_file
|
||||
# Pour le mail envoyé en fin par le Task Scheduler Synology
|
||||
/usr/local/bin/borg info borgserver:borgrepo >> $log_file
|
||||
|
||||
printf '\n%s\n%s\n%s\n' $stars "...Suppression des logs de plus de 200 jours..." $stars 2>&1 | tee -a $log_file
|
||||
find /volume1/Backup/logs -mtime +60 -exec rm -f {} \; 2>&1 | tee -a $log_file
|
||||
|
||||
timestamp=$(date +%s)
|
||||
TZ='Europe/Paris' printf '%s\nNous sommes le %(%d %b %Y)T et il est %(%H:%M:%S)T.\n%s\n' $stars $timestamp $timestamp $stars 2>&1 | tee -a $log_file
|
||||
|
||||
# Calcul du temps d'exécution du script
|
||||
end_time=$(date +%s)
|
||||
exec_time=$(($end_time - $start_time))
|
||||
printf '\n%s\n' $stars
|
||||
TZ='Europe/Paris' printf "L'exécution du script a duré %(%Hh%Mm%Ss)T\n" $exec_time 2>&1 | tee -a $log_file
|
||||
|
||||
</code></pre>
|
||||
<p>Le service qui me permet d'externaliser facilement les sauvegardes, est <a href="https://borgbase.com">BorgBase</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../2019-12-16-wildcard-lets-encrypt-certificate/" class="btn btn-neutral float-left" title="Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt."><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../2021-02-06-restore-time-machine-backup/" class="btn btn-neutral float-right" title="Restaurer un mac depuis une sauvegarde Time machine.">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../2019-12-16-wildcard-lets-encrypt-certificate/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../2021-02-06-restore-time-machine-backup/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "../..";</script>
|
||||
<script src="../../js/theme_extra.js"></script>
|
||||
<script src="../../js/theme.js"></script>
|
||||
<script src="../../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
169
site/Synology/2021-02-06-restore-time-machine-backup/index.html
Normal file
@@ -0,0 +1,169 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Synology/2021-02-06-restore-time-machine-backup/" />
|
||||
<link rel="shortcut icon" href="../../img/favicon.ico" />
|
||||
<title>Restaurer un mac depuis une sauvegarde Time machine. - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../../css/theme.css" />
|
||||
<link rel="stylesheet" href="../../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Restaurer un mac depuis une sauvegarde Time machine.";
|
||||
var mkdocs_page_input_path = "Synology/2021-02-06-restore-time-machine-backup.md";
|
||||
var mkdocs_page_url = "/Synology/2021-02-06-restore-time-machine-backup/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="../.." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
<ul class="current">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Synology</li>
|
||||
<li class="breadcrumb-item active">Restaurer un mac depuis une sauvegarde Time machine.</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="restaurer-un-mac-depuis-une-sauvegarde-time-machine">Restaurer un mac depuis une sauvegarde Time machine.</h1>
|
||||
<ul>
|
||||
<li>Accéder au mode de récupération de OS X en restant appuyer sur <code>Commmand +R</code> quand le Mac redémarre et que l'écran est gris.</li>
|
||||
<li>Quand la fenêtre avec les options apparaît, sélectionner "Utilities" dans la barre de menu et lancer un "Terminal".</li>
|
||||
<li>Dans le terminal utiliser les commandes suivantes :</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">cd /Volumes
|
||||
mkdir syno
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>On monte la sauvegarde Time Machine depuis le partage du NAS Synology en saisissant la commande suivante :</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">mount -t afp afp://timemachine:motdepasse@Savaneprod.local/Time\ Machine /Volumes/syno
|
||||
</code></pre>
|
||||
<p>Il est possible que l'adresse IP fonctionne mieux.
|
||||
- Vérification que le montage a fonctionné.</p>
|
||||
<pre><code class="language-bash">ls -la syno/
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Maintenant on a besoin de monter "sparsebundle" en utilisant <code>hdid</code> (hard drive image driver)</li>
|
||||
</ul>
|
||||
<pre><code class="language-bash">hdid nameOfThebundle.backupbundle
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Saisir le mot de passe si demandé (si le disque ou la sauvegarde était chiffré.e).</li>
|
||||
<li>Maintenant quitter le terminal et sélectionner "Restore" depuis Time machine.</li>
|
||||
<li>La sauvegarde présente sur le NAS doit maintenant être visible. Suivre les instructions données à l'écran.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../2020-12-04-borg-backup/" class="btn btn-neutral float-left" title="Sauvegarde externalisée grâce à Borg Backup"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/" class="btn btn-neutral float-right" title="Mise à jour de Nextcloud docker par Ansible">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../2020-12-04-borg-backup/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="../../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "../..";</script>
|
||||
<script src="../../js/theme_extra.js"></script>
|
||||
<script src="../../js/theme.js"></script>
|
||||
<script src="../../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
site/Synology/borg_package.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
BIN
site/Synology/borg_synocommunity.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
149
site/Synology/index.html
Normal file
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/Synology/" />
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" />
|
||||
<title>Liens relatifs à l'utilisation de Synology DSM. - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../css/theme.css" />
|
||||
<link rel="stylesheet" href="../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Liens relatifs \u00e0 l\u0027utilisation de Synology DSM.";
|
||||
var mkdocs_page_input_path = "Synology/index.md";
|
||||
var mkdocs_page_url = "/Synology/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href=".." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
<ul class="current">
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href=".." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item">Synology</li>
|
||||
<li class="breadcrumb-item active">Liens relatifs à l'utilisation de Synology DSM.</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="liens-relatifs-a-lutilisation-de-synology-dsm">Liens relatifs à l'utilisation de Synology DSM.</h1>
|
||||
<ul>
|
||||
<li>Utiliser Dynamic DNS a.k.a DynDNS ou DDNS avec Gandi.net : <a href="https://github.com/EmixamPP/synology-ddns-gandi">https://github.com/EmixamPP/synology-ddns-gandi</a><ul>
|
||||
<li>Nécessaire lorsque le fournisseur d'accès par lequel le Synology est connecté à Internet ne propose pas d'adresse IP publique fixe. Et lorsque le domaine est géré par Gandi.net .</li>
|
||||
<li>DSM implémente par défaut ce service pour OHV.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href=".." class="btn btn-neutral float-left" title="Home"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
<a href="2019-09-01-access-synology-with-ssh-asymetrical-key/" class="btn btn-neutral float-right" title="Se connecter en SSH au Synology à l'aide d'une clef asymétrique.">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href=".." style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
<span><a href="2019-09-01-access-synology-with-ssh-asymetrical-key/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "..";</script>
|
||||
<script src="../js/theme_extra.js"></script>
|
||||
<script src="../js/theme.js"></script>
|
||||
<script src="../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
site/Synology/sshd_restart.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
site/Synology/task_Schedule-tab.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
site/Synology/task_general-tab.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
site/Synology/task_setting-tab.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
136
site/about/index.html
Normal file
@@ -0,0 +1,136 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.savaneprod.fr/about/" />
|
||||
<link rel="shortcut icon" href="../img/favicon.ico" />
|
||||
<title>About - Savanewiki</title>
|
||||
<link rel="stylesheet" href="../css/theme.css" />
|
||||
<link rel="stylesheet" href="../css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "About";
|
||||
var mkdocs_page_input_path = "about.md";
|
||||
var mkdocs_page_url = "/about/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href=".." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="..">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Synology/">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Synology/2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Synology/2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Synology/2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href="./">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="..">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href=".." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item active">About</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<p>À propos.</p>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/" class="btn btn-neutral float-left" title="Mise à jour de Nextcloud docker par Ansible"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
<span><a href="../Ansible/2023-10-01-nextcloud-docker-update-from-ansible/" style="color: #fcfcfc">« Previous</a></span>
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="../js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = "..";</script>
|
||||
<script src="../js/theme_extra.js"></script>
|
||||
<script src="../js/theme.js"></script>
|
||||
<script src="../search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
BIN
site/css/fonts/Roboto-Slab-Bold.woff
Normal file
BIN
site/css/fonts/Roboto-Slab-Bold.woff2
Normal file
BIN
site/css/fonts/Roboto-Slab-Regular.woff
Normal file
BIN
site/css/fonts/Roboto-Slab-Regular.woff2
Normal file
BIN
site/css/fonts/fontawesome-webfont.eot
Normal file
2671
site/css/fonts/fontawesome-webfont.svg
Normal file
|
After Width: | Height: | Size: 434 KiB |
BIN
site/css/fonts/fontawesome-webfont.ttf
Normal file
BIN
site/css/fonts/fontawesome-webfont.woff
Normal file
BIN
site/css/fonts/fontawesome-webfont.woff2
Normal file
BIN
site/css/fonts/lato-bold-italic.woff
Normal file
BIN
site/css/fonts/lato-bold-italic.woff2
Normal file
BIN
site/css/fonts/lato-bold.woff
Normal file
BIN
site/css/fonts/lato-bold.woff2
Normal file
BIN
site/css/fonts/lato-normal-italic.woff
Normal file
BIN
site/css/fonts/lato-normal-italic.woff2
Normal file
BIN
site/css/fonts/lato-normal.woff
Normal file
BIN
site/css/fonts/lato-normal.woff2
Normal file
13
site/css/theme.css
Normal file
191
site/css/theme_extra.css
Normal file
@@ -0,0 +1,191 @@
|
||||
/*
|
||||
* Wrap inline code samples otherwise they shoot of the side and
|
||||
* can't be read at all.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/313
|
||||
* https://github.com/mkdocs/mkdocs/issues/233
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
*/
|
||||
.rst-content code {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make code blocks display as blocks and give them the appropriate
|
||||
* font size and padding.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/855
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
* https://github.com/mkdocs/mkdocs/issues/233
|
||||
*/
|
||||
.rst-content pre code {
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
display: block;
|
||||
padding: 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix code colors
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2027
|
||||
*/
|
||||
.rst-content code {
|
||||
color: #E74C3C;
|
||||
}
|
||||
|
||||
.rst-content pre code {
|
||||
color: #000;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix link colors when the link text is inline code.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/718
|
||||
*/
|
||||
a code {
|
||||
color: #2980B9;
|
||||
}
|
||||
a:hover code {
|
||||
color: #3091d1;
|
||||
}
|
||||
a:visited code {
|
||||
color: #9B59B6;
|
||||
}
|
||||
|
||||
/*
|
||||
* The CSS classes from highlight.js seem to clash with the
|
||||
* ReadTheDocs theme causing some code to be incorrectly made
|
||||
* bold and italic.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/411
|
||||
*/
|
||||
pre .cs, pre .c {
|
||||
font-weight: inherit;
|
||||
font-style: inherit;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fix some issues with the theme and non-highlighted code
|
||||
* samples. Without and highlighting styles attached the
|
||||
* formatting is broken.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/319
|
||||
*/
|
||||
.rst-content .no-highlight {
|
||||
display: block;
|
||||
padding: 0.5em;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Additions specific to the search functionality provided by MkDocs
|
||||
*/
|
||||
|
||||
.search-results {
|
||||
margin-top: 23px;
|
||||
}
|
||||
|
||||
.search-results article {
|
||||
border-top: 1px solid #E1E4E5;
|
||||
padding-top: 24px;
|
||||
}
|
||||
|
||||
.search-results article:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
form .search-query {
|
||||
width: 100%;
|
||||
border-radius: 50px;
|
||||
padding: 6px 12px; /* csslint allow: box-model */
|
||||
border-color: #D1D4D5;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improve inline code blocks within admonitions.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/656
|
||||
*/
|
||||
.rst-content .admonition code {
|
||||
color: #404040;
|
||||
border: 1px solid #c7c9cb;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
background: #f8fbfd;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
/*
|
||||
* Account for wide tables which go off the side.
|
||||
* Override borders to avoid weirdness on narrow tables.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/834
|
||||
* https://github.com/mkdocs/mkdocs/pull/1034
|
||||
*/
|
||||
.rst-content .section .docutils {
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
border: none;
|
||||
}
|
||||
|
||||
td, th {
|
||||
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/*
|
||||
* Without the following amendments, the navigation in the theme will be
|
||||
* slightly cut off. This is due to the fact that the .wy-nav-side has a
|
||||
* padding-bottom of 2em, which must not necessarily align with the font-size of
|
||||
* 90 % on the .rst-current-version container, combined with the padding of 12px
|
||||
* above and below. These amendments fix this in two steps: First, make sure the
|
||||
* .rst-current-version container has a fixed height of 40px, achieved using
|
||||
* line-height, and then applying a padding-bottom of 40px to this container. In
|
||||
* a second step, the items within that container are re-aligned using flexbox.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.wy-nav-side {
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
|
||||
/*
|
||||
* The second step of above amendment: Here we make sure the items are aligned
|
||||
* correctly within the .rst-current-version container. Using flexbox, we
|
||||
* achieve it in such a way that it will look like the following:
|
||||
*
|
||||
* [No repo_name]
|
||||
* Next >> // On the first page
|
||||
* << Previous Next >> // On all subsequent pages
|
||||
*
|
||||
* [With repo_name]
|
||||
* <repo_name> Next >> // On the first page
|
||||
* <repo_name> << Previous Next >> // On all subsequent pages
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.rst-versions .rst-current-version {
|
||||
padding: 0 12px;
|
||||
display: flex;
|
||||
font-size: initial;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Please note that this amendment also involves removing certain inline-styles
|
||||
* from the file ./mkdocs/themes/readthedocs/versions.html.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
||||
*/
|
||||
.rst-current-version span {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
BIN
site/img/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
153
site/index.html
Normal file
@@ -0,0 +1,153 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="description" content="None" /><link rel="canonical" href="https://docs.savaneprod.fr/" />
|
||||
<link rel="shortcut icon" href="img/favicon.ico" />
|
||||
<title>Savanewiki</title>
|
||||
<link rel="stylesheet" href="css/theme.css" />
|
||||
<link rel="stylesheet" href="css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<script>
|
||||
// Current page data
|
||||
var mkdocs_page_name = "Home";
|
||||
var mkdocs_page_input_path = "index.md";
|
||||
var mkdocs_page_url = "/";
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="reference internal current" href=".">Home</a>
|
||||
<ul class="current">
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Synology/">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Synology/2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Synology/2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Synology/2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href=".">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="breadcrumb-item active">Home</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
<h1 id="savanewiki-le-wiki-de-savaneprodfr">Savanewiki, le wiki de savaneprod.fr</h1>
|
||||
<p>savaneprod.fr a été créé par curiosité d'abord. Et puis pérennisé pour garder une souveraineté sur la vie numérique de la famille qui l'utilise : </p>
|
||||
<ul>
|
||||
<li>Un Synology sur lequel est installé docker et <a href="https://nextcloud.com/fr/">Nextcloud</a> dedans.</li>
|
||||
<li>Un domaine enregistré chez gandi.net</li>
|
||||
<li>Certificats TLS enregistrés chez <a href="https://letsencrypt.org/">Let's encrypt</a>.</li>
|
||||
<li>Des courriels gérés par <a href="https://migadu.com/">Migadu</a>.</li>
|
||||
<li>Deux PC sous <a href="https://pop.system76.com/">pop!_os</a>.</li>
|
||||
<li>Un Mac avec un Time Machine qui sauvegarde sur le Synology.</li>
|
||||
<li>Des sauvegardes externalisées grâce à <a href="https://borgbackup.readthedocs.io">Borg Backup</a>.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
|
||||
<a href="Synology/" class="btn btn-neutral float-right" title="Liens relatifs à l'utilisation de Synology DSM.">Next <span class="icon icon-circle-arrow-right"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
|
||||
<span><a href="Synology/" style="color: #fcfcfc">Next »</a></span>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = ".";</script>
|
||||
<script src="js/theme_extra.js"></script>
|
||||
<script src="js/theme.js"></script>
|
||||
<script src="search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--
|
||||
MkDocs version : 1.5.3
|
||||
Build Date UTC : 2023-11-13 20:26:36.424095+00:00
|
||||
-->
|
||||
4
site/js/html5shiv.min.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
||||
2
site/js/jquery-3.6.0.min.js
vendored
Normal file
2
site/js/theme.js
Normal file
8
site/js/theme_extra.js
Normal file
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* Assign 'docutils' class to tables so styling and
|
||||
* JavaScript behavior is applied.
|
||||
*
|
||||
* https://github.com/mkdocs/mkdocs/issues/2028
|
||||
*/
|
||||
|
||||
$('div.rst-content table').addClass('docutils');
|
||||
134
site/search.html
Normal file
@@ -0,0 +1,134 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en" >
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="shortcut icon" href="./img/favicon.ico" />
|
||||
<title>Savanewiki</title>
|
||||
<link rel="stylesheet" href="./css/theme.css" />
|
||||
<link rel="stylesheet" href="./css/theme_extra.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="./js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
||||
<script>hljs.highlightAll();</script>
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav" role="document">
|
||||
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search">
|
||||
<a href="./." class="icon icon-home"> Savanewiki
|
||||
</a><div role="search">
|
||||
<form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./.">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Synology</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Synology/">Liens relatifs à l'utilisation de Synology DSM.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/">Se connecter en SSH au Synology à l'aide d'une clef asymétrique.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Synology/2019-12-16-wildcard-lets-encrypt-certificate/">Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Synology/2020-12-04-borg-backup/">Sauvegarde externalisée grâce à Borg Backup</a>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Synology/2021-02-06-restore-time-machine-backup/">Restaurer un mac depuis une sauvegarde Time machine.</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="caption"><span class="caption-text">Ansible</span></p>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./Ansible/2023-10-01-nextcloud-docker-update-from-ansible/">Mise à jour de Nextcloud docker par Ansible</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="./about/">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="./.">Savanewiki</a>
|
||||
|
||||
</nav>
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="./." class="icon icon-home" aria-label="Docs"></a></li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div class="section" itemprop="articleBody">
|
||||
|
||||
|
||||
<h1 id="search">Search Results</h1>
|
||||
|
||||
<form id="content_search" action="search.html">
|
||||
<span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span>
|
||||
<input name="q" id="mkdocs-search-query" type="text" class="search_input search-query ui-autocomplete-input" placeholder="Search the Docs" aria-label="Search the Docs" autocomplete="off" autofocus title="Type search term here">
|
||||
</form>
|
||||
|
||||
<div id="mkdocs-search-results" class="search-results" data-no-results-text="No results found">
|
||||
Searching...
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div><footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<!-- Copyright etc -->
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="rst-versions" role="note" aria-label="Versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
|
||||
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<script src="./js/jquery-3.6.0.min.js"></script>
|
||||
<script>var base_url = ".";</script>
|
||||
<script src="./js/theme_extra.js"></script>
|
||||
<script src="./js/theme.js"></script>
|
||||
<script src="./search/main.js"></script>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
3475
site/search/lunr.js
Normal file
109
site/search/main.js
Normal file
@@ -0,0 +1,109 @@
|
||||
function getSearchTermFromLocation() {
|
||||
var sPageURL = window.location.search.substring(1);
|
||||
var sURLVariables = sPageURL.split('&');
|
||||
for (var i = 0; i < sURLVariables.length; i++) {
|
||||
var sParameterName = sURLVariables[i].split('=');
|
||||
if (sParameterName[0] == 'q') {
|
||||
return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function joinUrl (base, path) {
|
||||
if (path.substring(0, 1) === "/") {
|
||||
// path starts with `/`. Thus it is absolute.
|
||||
return path;
|
||||
}
|
||||
if (base.substring(base.length-1) === "/") {
|
||||
// base ends with `/`
|
||||
return base + path;
|
||||
}
|
||||
return base + "/" + path;
|
||||
}
|
||||
|
||||
function escapeHtml (value) {
|
||||
return value.replace(/&/g, '&')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>');
|
||||
}
|
||||
|
||||
function formatResult (location, title, summary) {
|
||||
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ escapeHtml(title) + '</a></h3><p>' + escapeHtml(summary) +'</p></article>';
|
||||
}
|
||||
|
||||
function displayResults (results) {
|
||||
var search_results = document.getElementById("mkdocs-search-results");
|
||||
while (search_results.firstChild) {
|
||||
search_results.removeChild(search_results.firstChild);
|
||||
}
|
||||
if (results.length > 0){
|
||||
for (var i=0; i < results.length; i++){
|
||||
var result = results[i];
|
||||
var html = formatResult(result.location, result.title, result.summary);
|
||||
search_results.insertAdjacentHTML('beforeend', html);
|
||||
}
|
||||
} else {
|
||||
var noResultsText = search_results.getAttribute('data-no-results-text');
|
||||
if (!noResultsText) {
|
||||
noResultsText = "No results found";
|
||||
}
|
||||
search_results.insertAdjacentHTML('beforeend', '<p>' + noResultsText + '</p>');
|
||||
}
|
||||
}
|
||||
|
||||
function doSearch () {
|
||||
var query = document.getElementById('mkdocs-search-query').value;
|
||||
if (query.length > min_search_length) {
|
||||
if (!window.Worker) {
|
||||
displayResults(search(query));
|
||||
} else {
|
||||
searchWorker.postMessage({query: query});
|
||||
}
|
||||
} else {
|
||||
// Clear results for short queries
|
||||
displayResults([]);
|
||||
}
|
||||
}
|
||||
|
||||
function initSearch () {
|
||||
var search_input = document.getElementById('mkdocs-search-query');
|
||||
if (search_input) {
|
||||
search_input.addEventListener("keyup", doSearch);
|
||||
}
|
||||
var term = getSearchTermFromLocation();
|
||||
if (term) {
|
||||
search_input.value = term;
|
||||
doSearch();
|
||||
}
|
||||
}
|
||||
|
||||
function onWorkerMessage (e) {
|
||||
if (e.data.allowSearch) {
|
||||
initSearch();
|
||||
} else if (e.data.results) {
|
||||
var results = e.data.results;
|
||||
displayResults(results);
|
||||
} else if (e.data.config) {
|
||||
min_search_length = e.data.config.min_search_length-1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!window.Worker) {
|
||||
console.log('Web Worker API not supported');
|
||||
// load index in main thread
|
||||
$.getScript(joinUrl(base_url, "search/worker.js")).done(function () {
|
||||
console.log('Loaded worker');
|
||||
init();
|
||||
window.postMessage = function (msg) {
|
||||
onWorkerMessage({data: msg});
|
||||
};
|
||||
}).fail(function (jqxhr, settings, exception) {
|
||||
console.error('Could not load worker.js');
|
||||
});
|
||||
} else {
|
||||
// Wrap search in a web worker
|
||||
var searchWorker = new Worker(joinUrl(base_url, "search/worker.js"));
|
||||
searchWorker.postMessage({init: true});
|
||||
searchWorker.onmessage = onWorkerMessage;
|
||||
}
|
||||
1
site/search/search_index.json
Normal file
133
site/search/worker.js
Normal file
@@ -0,0 +1,133 @@
|
||||
var base_path = 'function' === typeof importScripts ? '.' : '/search/';
|
||||
var allowSearch = false;
|
||||
var index;
|
||||
var documents = {};
|
||||
var lang = ['en'];
|
||||
var data;
|
||||
|
||||
function getScript(script, callback) {
|
||||
console.log('Loading script: ' + script);
|
||||
$.getScript(base_path + script).done(function () {
|
||||
callback();
|
||||
}).fail(function (jqxhr, settings, exception) {
|
||||
console.log('Error: ' + exception);
|
||||
});
|
||||
}
|
||||
|
||||
function getScriptsInOrder(scripts, callback) {
|
||||
if (scripts.length === 0) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
getScript(scripts[0], function() {
|
||||
getScriptsInOrder(scripts.slice(1), callback);
|
||||
});
|
||||
}
|
||||
|
||||
function loadScripts(urls, callback) {
|
||||
if( 'function' === typeof importScripts ) {
|
||||
importScripts.apply(null, urls);
|
||||
callback();
|
||||
} else {
|
||||
getScriptsInOrder(urls, callback);
|
||||
}
|
||||
}
|
||||
|
||||
function onJSONLoaded () {
|
||||
data = JSON.parse(this.responseText);
|
||||
var scriptsToLoad = ['lunr.js'];
|
||||
if (data.config && data.config.lang && data.config.lang.length) {
|
||||
lang = data.config.lang;
|
||||
}
|
||||
if (lang.length > 1 || lang[0] !== "en") {
|
||||
scriptsToLoad.push('lunr.stemmer.support.js');
|
||||
if (lang.length > 1) {
|
||||
scriptsToLoad.push('lunr.multi.js');
|
||||
}
|
||||
if (lang.includes("ja") || lang.includes("jp")) {
|
||||
scriptsToLoad.push('tinyseg.js');
|
||||
}
|
||||
for (var i=0; i < lang.length; i++) {
|
||||
if (lang[i] != 'en') {
|
||||
scriptsToLoad.push(['lunr', lang[i], 'js'].join('.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
loadScripts(scriptsToLoad, onScriptsLoaded);
|
||||
}
|
||||
|
||||
function onScriptsLoaded () {
|
||||
console.log('All search scripts loaded, building Lunr index...');
|
||||
if (data.config && data.config.separator && data.config.separator.length) {
|
||||
lunr.tokenizer.separator = new RegExp(data.config.separator);
|
||||
}
|
||||
|
||||
if (data.index) {
|
||||
index = lunr.Index.load(data.index);
|
||||
data.docs.forEach(function (doc) {
|
||||
documents[doc.location] = doc;
|
||||
});
|
||||
console.log('Lunr pre-built index loaded, search ready');
|
||||
} else {
|
||||
index = lunr(function () {
|
||||
if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) {
|
||||
this.use(lunr[lang[0]]);
|
||||
} else if (lang.length > 1) {
|
||||
this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility
|
||||
}
|
||||
this.field('title');
|
||||
this.field('text');
|
||||
this.ref('location');
|
||||
|
||||
for (var i=0; i < data.docs.length; i++) {
|
||||
var doc = data.docs[i];
|
||||
this.add(doc);
|
||||
documents[doc.location] = doc;
|
||||
}
|
||||
});
|
||||
console.log('Lunr index built, search ready');
|
||||
}
|
||||
allowSearch = true;
|
||||
postMessage({config: data.config});
|
||||
postMessage({allowSearch: allowSearch});
|
||||
}
|
||||
|
||||
function init () {
|
||||
var oReq = new XMLHttpRequest();
|
||||
oReq.addEventListener("load", onJSONLoaded);
|
||||
var index_path = base_path + '/search_index.json';
|
||||
if( 'function' === typeof importScripts ){
|
||||
index_path = 'search_index.json';
|
||||
}
|
||||
oReq.open("GET", index_path);
|
||||
oReq.send();
|
||||
}
|
||||
|
||||
function search (query) {
|
||||
if (!allowSearch) {
|
||||
console.error('Assets for search still loading');
|
||||
return;
|
||||
}
|
||||
|
||||
var resultDocuments = [];
|
||||
var results = index.search(query);
|
||||
for (var i=0; i < results.length; i++){
|
||||
var result = results[i];
|
||||
doc = documents[result.ref];
|
||||
doc.summary = doc.text.substring(0, 200);
|
||||
resultDocuments.push(doc);
|
||||
}
|
||||
return resultDocuments;
|
||||
}
|
||||
|
||||
if( 'function' === typeof importScripts ) {
|
||||
onmessage = function (e) {
|
||||
if (e.data.init) {
|
||||
init();
|
||||
} else if (e.data.query) {
|
||||
postMessage({ results: search(e.data.query) });
|
||||
} else {
|
||||
console.error("Worker - Unrecognized message: " + e);
|
||||
}
|
||||
};
|
||||
}
|
||||
43
site/sitemap.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/about/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Ansible/2023-10-01-nextcloud-docker-update-from-ansible/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Synology/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Synology/2019-09-01-access-synology-with-ssh-asymetrical-key/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Synology/2019-12-16-wildcard-lets-encrypt-certificate/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Synology/2020-12-04-borg-backup/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://docs.savaneprod.fr/Synology/2021-02-06-restore-time-machine-backup/</loc>
|
||||
<lastmod>2023-11-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
</urlset>
|
||||