Notes d'installation


On est sur une debian 9 fraiche, on installe des trucs de base
sudo apt-get install curl sudo unzip vim


On ajoute les depots backport pour avoir certbot
sudo echo `deb http://ftp.debian.org/debian stretch-backports main` >> /etc/apt/source.list
sudo apt-get update
sudo apt-get install python-certbot-nginx -t stretch-backports


On installe nodejs 8
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs


On installe yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn


On installe les dépendances de peertube
sudo apt install nginx ffmpeg postgresql openssl g++ make redis-server git


Puis suivre a la lettre: https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md




Installer les outils pour importer en ligne de commande (cf. https://github.com/Chocobozzz/PeerTube/blob/9940241328acd0bf1bed62f2e83a8122b5d5daf4/support/doc/tools.md )
cd /var/www
git clone https://github.com/Chocobozzz/PeerTube.git cli
CLONE="$(pwd)/cli"
cd ${CLONE}
yarn install
npm run build:server



Import des vidéos de Vimeo

cd /var/www/cli
node dist/server/tools/import-videos.js -u https://video.colibris-outilslibres.org -U colibris -p <mot de passe> -t https://vimeo.com/colibris




Customisation graphique de l'interface

@import url('https://fonts.googleapis.com/css?family=Ubuntu'); /* NO! VADE RETRO SATANAS TODO: find a bio way to load fonts */
body {
font-family: 'Ubuntu', sans-serif !important;
background-color: #e9e9e9 !important;
}

#custom-css a {
    color: #64d29b;
    text-decoration: none;
}

#custom-css a:hover {
    color: #64d29b;
    text-decoration: underline;
}

#custom-css .header {
box-shadow: 0 0px 2px rgba(0,0,0,.1) !important;
height:auto !important;
/*position:absolute !important;*/
padding:1em 0;
}
#custom-css .header .top-left-block {
border:0 !important;
}
.sub-header-container {
    margin-top: 78px !important;
}
#custom-css #peertube-title{
background: url(https://colibris-outilslibres.org/static/logo-Outilslibres.168e91d3.svg) no-repeat top left;
width: 160px;
height: 50px;
font-size:0;
}
#custom-css #peertube-title .icon-logo{ display:none;}
.user-not-logged-in .upload-button {
  display: none;
}
#custom-css menu {
    background-color: #5b6a6c;
}
#custom-css menu  a {
color:white;
}
#custom-css menu  .logged-in-block {
    border-bottom: 1px solid rgb(233, 233, 233, .5);
    background-color: transparent !important;
}

#custom-css .main-col .margin-content, #custom-css .main-col.expanded .margin-content {
margin:0 1em;
}

#custom-css .title-page.active {
    text-transform:uppercase;
    border-bottom: 0;
}
#custom-css  .title-page.title-page-single {
    text-transform:uppercase;
    border-bottom: 0;
    margin-left: 50px;
}
#custom-css .expanded .title-page.title-page-single {
    text-transform:uppercase;
    border-bottom: 0;
    margin-left: 36px;
}

.root-tabset > .nav {
    margin-bottom: 0;
}
.tab-content {
padding:1em;
background:white;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    border-color: #fff;
}

#custom-css .video-miniature {
    height: auto;
    background: white;
    padding: 1em;
    margin: 0 1em 2em;
    width: 240px;
    border-radius: 4px;
}

#custom-css .video-thumbnail {
    width: 240px;
    height: auto;
    margin: -1em;
    margin-bottom: .5em;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

#custom-css .video-thumbnail img{
    width: 240px;
    height: auto;
box-shadow: 0 0px 2px rgba(0,0,0,.1);
}

#custom-css  .video-miniature .video-miniature-information {
    width: 100%;
    margin: 0;
    line-height: 1em;
}

#custom-css  .video-miniature-name {
    font-size: 13px;
    color: #5b6a6c;
    margin-bottom: 8px;
}
#custom-css  .video-miniature-name:hover,
#custom-css  .dropdown-item:hover {
    text-decoration:none;
}
#custom-css   .video-miniature-created-at-views {
  font-size:12px;
color:#5b6a6c;
}

#custom-css  .video-miniature-account  {
    font-size: 11px;
}

#custom-css .add-button,
#custom-css input[type="submit"],
#custom-css .login-button, #custom-css  .login-button:active, #custom-css  .login-button:focus,
#custom-css .upload-button, #custom-css .upload-button:active, #custom-css .upload-button:focus {
    background-color: #64d29b;
    color:white;
   padding-top:5px;
   padding-bottom:5px;
height:auto;
}

#custom-css .add-button:hover,
#custom-css input[type="submit"]:hover,
#custom-css .login-button:hover,
#custom-css .upload-button:hover {
   background-color: #51ae7f;
   color:white;
}

#custom-css  .inner-form-title {
    color: #64d29b;
    font-size: 16px;
}

#custom-css .form-group .form-group-checkbox input:checked + span {
    background: #64d29b;
}

#custom-css #search-video {
    height: auto;
    width: 300px;
    border: 1px solid #e9e9e9;
    border-radius: 4px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 16px;
    color: #5b6a6c;
}
#custom-css #search-video::placeholder {
 color: #5b6a6c;
}

#custom-css .header-right .icon-search {
margin-top:10px;
}

#custom-css menu .icon-videos-trending {
    background-image: url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg width%3D%2224px%22 height%3D%2224px%22 viewBox%3D%220 0 24 24%22 version%3D%221.1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E %3C!-- Generator%3A Sketch 43.2 (39069) - http%3A%2F%2Fwww.bohemiancoding.com%2Fsketch --%3E %3Ctitle%3Egraph%3C%2Ftitle%3E %3Cdesc%3ECreated with Sketch.%3C%2Fdesc%3E %3Cdefs%3E%3C%2Fdefs%3E %3Cg id%3D%22Page-1%22 stroke%3D%22none%22 stroke-width%3D%221%22 fill%3D%22none%22 fill-rule%3D%22evenodd%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%3E %3Cg id%3D%22Artboard-4%22 transform%3D%22translate(-444.000000%2C -203.000000)%22 stroke-width%3D%222%22 stroke%3D%22%2351ae7f%22%3E %3Cg id%3D%2250%22 transform%3D%22translate(444.000000%2C 203.000000)%22%3E %3Cpolyline id%3D%22Path-96%22 points%3D%223 3 3 21.006249 21.0246733 21.006249%22%3E%3C%2Fpolyline%3E %3Cpolyline id%3D%22Path-101%22 points%3D%226 18 11 12 14 13 19 7%22%3E%3C%2Fpolyline%3E %3Cpolygon id%3D%22Path-102%22 points%3D%2220 9 20 6 17 6%22%3E%3C%2Fpolygon%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E");
}

#custom-css menu .icon-videos-recently-added {
background-image: url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg width%3D%2224px%22 height%3D%2224px%22 viewBox%3D%220 0 24 24%22 version%3D%221.1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E %3Cdefs%3E%3C%2Fdefs%3E %3Cg id%3D%22Page-1%22 stroke%3D%22none%22 stroke-width%3D%221%22 fill%3D%22none%22 fill-rule%3D%22evenodd%22%3E %3Cg id%3D%22Artboard-4%22 transform%3D%22translate(-92.000000%2C -115.000000)%22%3E %3Cg id%3D%222%22 transform%3D%22translate(92.000000%2C 115.000000)%22%3E %3Ccircle id%3D%22Oval-1%22 stroke%3D%22%2351ae7f%22 stroke-width%3D%222%22 cx%3D%2212%22 cy%3D%2212%22 r%3D%2210%22%3E%3C%2Fcircle%3E %3Crect id%3D%22Rectangle-1%22 fill%3D%22%2351ae7f%22 x%3D%2211%22 y%3D%227%22 width%3D%222%22 height%3D%2210%22 rx%3D%221%22%3E%3C%2Frect%3E %3Crect id%3D%22Rectangle-1%22 fill%3D%22%2351ae7f%22 x%3D%227%22 y%3D%2211%22 width%3D%2210%22 height%3D%222%22 rx%3D%221%22%3E%3C%2Frect%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E");
}

#custom-css menu .icon-videos-local {
background-image: url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg width%3D%2224px%22 height%3D%2224px%22 viewBox%3D%220 0 24 24%22 version%3D%221.1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E %3C!-- Generator%3A Sketch 43.2 (39069) - http%3A%2F%2Fwww.bohemiancoding.com%2Fsketch --%3E %3Ctitle%3Ehome%3C%2Ftitle%3E %3Cdesc%3ECreated with Sketch.%3C%2Fdesc%3E %3Cdefs%3E%3C%2Fdefs%3E %3Cg id%3D%22Page-1%22 stroke%3D%22none%22 stroke-width%3D%221%22 fill%3D%22none%22 fill-rule%3D%22evenodd%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%3E %3Cg id%3D%22Artboard-4%22 transform%3D%22translate(-620.000000%2C -159.000000)%22 stroke%3D%22%2351ae7f%22 stroke-width%3D%222%22%3E %3Cg id%3D%2234%22 transform%3D%22translate(620.000000%2C 159.000000)%22%3E %3Cpath d%3D%22M1%2C11 L12%2C2 C12%2C2 22.9999989%2C11.0000005 23%2C11%22 id%3D%22Path-50%22%3E%3C%2Fpath%3E %3Cpath d%3D%22M3%2C10 C3%2C10 3%2C10.4453982 3%2C10.9968336 L3%2C20.0170446 C3%2C20.5675806 3.43788135%2C21.0138782 4.00292933%2C21.0138781 L8.99707067%2C21.0138779 C9.55097324%2C21.0138779 10%2C20.5751284 10%2C20.0089602 L10%2C15.0049177 C10%2C14.449917 10.4433532%2C14 11.0093689%2C14 L12.9906311%2C14 C13.5480902%2C14 14%2C14.4387495 14%2C15.0049177 L14%2C20.0089602 C14%2C20.5639609 14.4378817%2C21.0138779 15.0029302%2C21.0138779 L19.9970758%2C21.0138781 C20.5509789%2C21.0138782 21.000006%2C20.56848 21.000006%2C20.0170446 L21.0000057%2C10%22 id%3D%22Path-51%22%3E%3C%2Fpath%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E");
}

#custom-css menu .icon-administration {
  background-image: url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg width%3D%2224px%22 height%3D%2224px%22 viewBox%3D%220 0 24 24%22 version%3D%221.1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E %3C!-- Generator%3A Sketch 43.2 (39069) - http%3A%2F%2Fwww.bohemiancoding.com%2Fsketch --%3E %3Ctitle%3Efilter%3C%2Ftitle%3E %3Cdesc%3ECreated with Sketch.%3C%2Fdesc%3E %3Cdefs%3E%3C%2Fdefs%3E %3Cg id%3D%22Page-1%22 stroke%3D%22none%22 stroke-width%3D%221%22 fill%3D%22none%22 fill-rule%3D%22evenodd%22%3E %3Cg id%3D%22Artboard-4%22 transform%3D%22translate(-444.000000%2C -247.000000)%22 fill%3D%22%2351ae7f%22%3E %3Cg id%3D%2270%22 transform%3D%22translate(444.000000%2C 247.000000)%22%3E %3Cpath d%3D%22M8.82929429%2C17 L20.0066023%2C17 C20.5552407%2C17 21%2C17.4438648 21%2C18 C21%2C18.5522847 20.5550537%2C19 20.0066023%2C19 L8.82929429%2C19 C8.41745788%2C20.1651924 7.30621883%2C21 6%2C21 C4.34314575%2C21 3%2C19.6568542 3%2C18 C3%2C16.3431458 4.34314575%2C15 6%2C15 C7.30621883%2C15 8.41745788%2C15.8348076 8.82929429%2C17 Z M9.17070571%2C13 L3.99339768%2C13 C3.44475929%2C13 3%2C12.5561352 3%2C12 C3%2C11.4477153 3.44494629%2C11 3.99339768%2C11 L9.17070571%2C11 C9.58254212%2C9.83480763 10.6937812%2C9 12%2C9 C13.3062188%2C9 14.4174579%2C9.83480763 14.8292943%2C11 L20.0066023%2C11 C20.5552407%2C11 21%2C11.4438648 21%2C12 C21%2C12.5522847 20.5550537%2C13 20.0066023%2C13 L14.8292943%2C13 C14.4174579%2C14.1651924 13.3062188%2C15 12%2C15 C10.6937812%2C15 9.58254212%2C14.1651924 9.17070571%2C13 Z M15.1659641%2C6.98648118 C15.1124525%2C6.99537358 15.05751%2C7 15.0014977%2C7 L3.99850233%2C7 C3.44704472%2C7 3%2C6.55613518 3%2C6 C3%2C5.44771525 3.44748943%2C5 3.99850233%2C5 L15.0014977%2C5 C15.0575314%2C5 15.1124871%2C5.00458274 15.1660053%2C5.01340035 C15.5740343%2C3.84121344 16.6887792%2C3 18%2C3 C19.6568542%2C3 21%2C4.34314575 21%2C6 C21%2C7.65685425 19.6568542%2C9 18%2C9 C16.688735%2C9 15.5739592%2C8.15872988 15.1659641%2C6.98648118 Z M18%2C7 C18.5522847%2C7 19%2C6.55228475 19%2C6 C19%2C5.44771525 18.5522847%2C5 18%2C5 C17.4477153%2C5 17%2C5.44771525 17%2C6 C17%2C6.55228475 17.4477153%2C7 18%2C7 Z M12%2C13 C12.5522847%2C13 13%2C12.5522847 13%2C12 C13%2C11.4477153 12.5522847%2C11 12%2C11 C11.4477153%2C11 11%2C11.4477153 11%2C12 C11%2C12.5522847 11.4477153%2C13 12%2C13 Z M6%2C19 C6.55228475%2C19 7%2C18.5522847 7%2C18 C7%2C17.4477153 6.55228475%2C17 6%2C17 C5.44771525%2C17 5%2C17.4477153 5%2C18 C5%2C18.5522847 5.44771525%2C19 6%2C19 Z%22 id%3D%22Combined-Shape%22%3E%3C%2Fpath%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E");
}

#custom-css menu .icon-about {
background-image: url("data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg width%3D%2224px%22 height%3D%2224px%22 viewBox%3D%220 0 24 24%22 version%3D%221.1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E %3Cdefs%3E%3C%2Fdefs%3E %3Cg id%3D%22Page-1%22 stroke%3D%22none%22 stroke-width%3D%221%22 fill%3D%22none%22 fill-rule%3D%22evenodd%22%3E %3Cg id%3D%22Artboard-4%22 transform%3D%22translate(-400.000000%2C -247.000000)%22%3E %3Cg id%3D%2269%22 transform%3D%22translate(400.000000%2C 247.000000)%22%3E %3Ccircle id%3D%22Oval-7%22 stroke%3D%22%2351ae7f%22 stroke-width%3D%222%22 cx%3D%2212%22 cy%3D%2212%22 r%3D%2210%22%3E%3C%2Fcircle%3E %3Cpath d%3D%22M12.016%2C14.544 C12.384%2C14.544 12.64%2C14.256 12.704%2C13.904 L12.768%2C13.168 C14.544%2C12.864 16%2C11.952 16%2C9.936 L16%2C9.904 C16%2C7.904 14.48%2C6.656 12.24%2C6.656 C10.768%2C6.656 9.696%2C7.184 8.848%2C7.984 C8.624%2C8.176 8.528%2C8.432 8.528%2C8.672 C8.528%2C9.152 8.928%2C9.552 9.424%2C9.552 C9.648%2C9.552 9.856%2C9.456 10.016%2C9.328 C10.656%2C8.752 11.344%2C8.448 12.192%2C8.448 C13.344%2C8.448 14.032%2C9.072 14.032%2C9.968 L14.032%2C10 C14.032%2C11.008 13.2%2C11.584 11.696%2C11.728 C11.264%2C11.776 11.008%2C12.096 11.072%2C12.528 L11.232%2C13.904 C11.28%2C14.272 11.552%2C14.544 11.92%2C14.544 L12.016%2C14.544 Z M10.784%2C16.816 L10.784%2C16.976 C10.784%2C17.6 11.264%2C18.08 11.92%2C18.08 C12.576%2C18.08 13.056%2C17.6 13.056%2C16.976 L13.056%2C16.816 C13.056%2C16.192 12.576%2C15.712 11.92%2C15.712 C11.264%2C15.712 10.784%2C16.192 10.784%2C16.816 Z%22 id%3D%22%3F%22 fill%3D%22%2351ae7f%22%3E%3C%2Fpath%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E");
}

#custom-css footer {
border:none;
}

#custom-css  .ui-paginator-page:hover {text-decoration:none}
#custom-css p-table p-paginator .ui-paginator-bottom .ui-paginator-pages a.ui-state-active,
#custom-css p-table p-paginator .ui-paginator-bottom .ui-paginator-pages a.ui-state-active:active,
#custom-css p-table p-paginator .ui-paginator-bottom .ui-paginator-pages a.ui-state-active:focus,
#custom-css p-table p-paginator .ui-paginator-bottom .ui-paginator-pages a.ui-state-active:hover {
    color: #fff !important;
    background-color: #64d29b !important;
}

#custom-css .video-bottom .video-info-name {
    margin: 1em 0 .1em;
    min-height: auto;
    font-size: 24px;
}
#custom-css .video-bottom .video-info-date-views {
    font-size:13px;
}
#custom-css .video-bottom .video-info-channel {
    font-size:14px;
}
#custom-css .video-bottom .video-info-channel a {
    color:#000;
}
#custom-css .video-bottom .video-info-by a {
    color:#000;
}

#custom-css .video-actions .action-button,
#custom-css .video-actions .action-button:active,
#custom-css .video-actions .action-button:focus {
    background-color: #FFF;
    color: #585858;
}
#custom-css .video-actions .action-button.disabled,
#custom-css .video-actions .action-button:active,
#custom-css .video-actions .action-button:focus,
#custom-css .video-actions .action-button:hover,
#custom-css .video-actions .action-button[disabled] {
    background-color: #64d29b;
}

#custom-css .dropdown-menu {
    border-radius: 4px;
    box-shadow: 0 0 2px rgba(0,0,0,.1);
    font-size: 14px;
}

#custom-css my-video-comments .title-page.title-page-single {
    margin-left: 0;
}

#custom-css .other-videos .title-page.title-page-single {
    margin-left: 14px;
    margin-top:2em;
    margin-bottom: 1em;
}
#custom-css .help-tooltip-button {
background-color:transparent;
}

#custom-css menu .block-title {
    margin-bottom: 10px;
}

#custom-css textarea {
border: 1px solid #e9e9e9;
border-radius: 4px;
padding: 8px;
font-size: 16px;
color: #5b6a6c;
}

#custom-css .video-attribute .video-attribute-label {
    min-width: 110px;
    padding-right: 10px;
    text-align: right;
}