index.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6. <title>reveal.js</title>
  7. <link rel="stylesheet" href="css/reveal.css">
  8. <link rel="stylesheet" href="css/theme/black.css">
  9. <!-- Theme used for syntax highlighting of code -->
  10. <link rel="stylesheet" href="lib/css/zenburn.css">
  11. <!-- Printing and PDF exports -->
  12. <script>
  13. var link = document.createElement( 'link' );
  14. link.rel = 'stylesheet';
  15. link.type = 'text/css';
  16. link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
  17. document.getElementsByTagName( 'head' )[0].appendChild( link );
  18. </script>
  19. </head>
  20. <body>
  21. <div class="reveal">
  22. <div class="slides">
  23. <section background-image="file:///home/jops/Documents/Formazione/javascript/desig-patter-js/image/troll.png" data-background-size="100px" data-background-repeat="repeat">
  24. <h2>Mastodon lato admin</h2>
  25. <img src="http://localhost:1947/images/mastodon.png" height="400" >
  26. <p>
  27. Hack or Di(Y|e) chapter 4.<br>
  28. 9/11/18 @ XM24
  29. </p>
  30. <p>
  31. <small>Created by Bida</small>
  32. </p>
  33. <aside class="notes">
  34. <ul>
  35. <li>per far partire la presentazione cliccare s</li>
  36. <li>comando$ node plugin/notes-server/</li>
  37. </ul>
  38. </aside>
  39. </section>
  40. <section data-markdown>
  41. # Premessa
  42. ## social network autogestito
  43. Strumento utile per condividere informazioni e discuterle assieme
  44. </section>
  45. <section data-markdown>
  46. # Premessa
  47. Mastodon
  48. [https://github.com/tootsuite/mastodon](https://github.com/tootsuite/mastodon)
  49. Fediverso
  50. [http://fediverse.party](http://fediverse.party)
  51. </section>
  52. <section data-markdown>
  53. ## Manifesto
  54. https://mastodon.bida.im/about/more
  55. tutela della privacy e dell'anonimato: non pubblichiamo né conserviamo dati sensibili di alcuna persona
  56. </section>
  57. <section>
  58. <h3>Puntate precedenti</h3>
  59. <ul>
  60. <li>social network, perche' mastodon</li>
  61. <li>presentazioni xm24 e hackmeeting</li>
  62. </ul>
  63. <aside class="notes">
  64. </aside>
  65. </section>
  66. <section>
  67. <h3>Installazione Docker - Prerequisites</h3>
  68. <ul>
  69. <li>Working basic (Linux) server with Nginx (or Apache2; not officially supported).</li>
  70. <li>Recent stable version of Docker.</li>
  71. <li>Recent stable version of Docker-compose.</li>
  72. </ul>
  73. </aside>
  74. </section>
  75. <section>
  76. <h3>Setting up</h3>
  77. Clone Mastodon's repository.
  78. <pre class="bash"><code># Clone mastodon to ~/live directory
  79. git clone https://github.com/tootsuite/mastodon.git live
  80. # Change directory to ~/live
  81. cd ~/live
  82. # Checkout to the latest stable branch
  83. git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
  84. </code>
  85. <aside class="notes">
  86. ricorda che nel docker compose il postgres e redis di default non persistono
  87. </aside>
  88. </section>
  89. <section>
  90. <h3>Usa una prebuilt image o build una tua immagine</h3>
  91. <ul>
  92. <li>https://hub.docker.com/r/tootsuite/mastodon/</li>
  93. <li>apri il docker compose: decommenta i punti .build</li>
  94. <li>edita file parte image, in base alla release che vuoi</li>
  95. <li>cp .env.production.sample .env.production (per la configurazione)</li>
  96. <li>docker-compose build</li>
  97. <li>chown -R 991:991 public</li>
  98. </ul>
  99. <aside class="notes">
  100. ricorda che nel docker compose il postgres e redis di default non persistono
  101. </aside>
  102. </section>
  103. <section>
  104. <h3>Building the app</h3>
  105. Ora che hai generato l'immagine, puoi generare l'istanza e configurarla
  106. <pre class="bash"><code>docker-compose run --rm web bundle exec rake mastodon:setup</code></pre>
  107. questo e' un wizard per generare le opzioni che dovrai inserire nel file .env.production
  108. <pre class="bash"><code>docker-compose up -d</code></pre>
  109. </aside>
  110. </section>
  111. <section>
  112. <h3>Configurazione Nginx</h3>
  113. facciamo vedere la nostra configurazione.<br>
  114. Non salviamo gli ip
  115. </aside>
  116. </section>
  117. <section>
  118. <h3>Rake task (Ruby on rails)</h3>
  119. Per poter gestire il server, cancellazione cache, trasformare un utente in admin, rebuild elastic search etc...
  120. https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/List-of-Rake-tasks.md
  121. </aside>
  122. </section>
  123. <section>
  124. <h3>Utenti</h3>
  125. <ul>
  126. <li>1485 utenti iscritti</li>
  127. <li>questa settimana: 378 attivi (25% degli iscritti)</li>
  128. <li>questa settimana: 236 hanno scritto almeno un toot (16% degli iscritti)</li>
  129. <li>questa settimana: 140 lurk (37% degli attivi, feed reader)</li>
  130. </ul>
  131. </aside>
  132. </section>
  133. <section>
  134. <h3>Macchina</h3>
  135. <ul>
  136. <li>vps su gandi</li>
  137. <li>4 core</li>
  138. <li>8gb ram</li>
  139. <li>250 gb storage</li>
  140. <li>backup + nfs + rsnapshot</li>
  141. <li>monitoraggio nagios</li>
  142. </ul>
  143. </aside>
  144. </section>
  145. <section>
  146. <h3>Lato Admin</h3>
  147. <ul>
  148. <li>come siamo strutturati</li>
  149. <li>backend</li>
  150. <li>organizzazione scambio comunicazioni segnalazini</li>
  151. <li>istanze e blocchi </li>
  152. <li>dialogo, silenziazione, blocco</li>
  153. </ul>
  154. </aside>
  155. </section>
  156. <section>
  157. <h3>come siamo strutturati</h3>
  158. <ul>
  159. <li>ci sentiamo periodicamente</li>
  160. <li>almeno 3 tecnici</li>
  161. <li>almeno 3 non tecnici, amministratori</li>
  162. <li>avere un canale per sentirsi immediatamente</li>
  163. </ul>
  164. </aside>
  165. </section>
  166. <section>
  167. <h3>backend</h3>
  168. <ul>
  169. <li>mastodon nasce come sn focalizzato contro i molestatori</li>
  170. <li>vediamo l'interfaccia</li>
  171. </ul>
  172. </aside>
  173. </section>
  174. <section>
  175. <h3>organizzazione scambio comunicazioni segnalazioni</h3>
  176. <ul>
  177. <li>toot pubblici</li>
  178. <li>segnalazioni</li>
  179. <li>da social network in privato</li>
  180. <li>in mailing list</li>
  181. <li>nell'assemblea di istanza: 8 dicembre</li>
  182. </ul>
  183. </aside>
  184. </section>
  185. <section>
  186. <h3>istanze e blocchi</h3>
  187. <ul>
  188. <li>esistono liste pubbliche</li>
  189. <li>la nostra e' in costruzione</li>
  190. <li>vediamo!</li>
  191. </ul>
  192. </aside>
  193. </section>
  194. <section>
  195. <h3>dialogo, silenziazione, blocco</h3>
  196. <ul>
  197. <li>policy</li>
  198. <li>segnalazioni</li>
  199. <li>silenziazione</li>
  200. <li>blocco</li>
  201. </ul>
  202. </aside>
  203. </section>
  204. </div>
  205. </div>
  206. <script src="lib/js/head.min.js"></script>
  207. <script src="js/reveal.js"></script>
  208. <script>
  209. // More info https://github.com/hakimel/reveal.js#configuration
  210. Reveal.initialize({
  211. history: true,
  212. // More info https://github.com/hakimel/reveal.js#dependencies
  213. dependencies: [
  214. { src: 'plugin/markdown/marked.js' },
  215. { src: 'plugin/markdown/markdown.js' },
  216. { src: 'plugin/notes/notes.js', async: true },
  217. { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
  218. ]
  219. });
  220. </script>
  221. </body>
  222. </html>