2
0

video.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'>
  3. <channel>
  4. <atom:link href='https://tinydatacenter.com/' rel='self' type='application/rss+xml'/>
  5. <title>
  6. Tiny DC
  7. </title>
  8. <link>
  9. https://tinydatacenter.com/
  10. </link>
  11. <description>
  12. Tiny Data Center
  13. </description>
  14. <lastBuildDate>
  15. Sat, 10 Mar 2018 04:06:36 +0000
  16. </lastBuildDate>
  17. <generator>
  18. clj-rss
  19. </generator>
  20. <item>
  21. <guid>
  22. https://tinydatacenter.com/2018-03-06-token-auth.html
  23. </guid>
  24. <link>
  25. https://tinydatacenter.com/2018-03-06-token-auth.html
  26. </link>
  27. <title>
  28. Token Auth
  29. </title>
  30. <description>
  31. &lt;p&gt;Similar to archive, but available to public. Focus on RSS and CDN.&lt;/p&gt;&lt;p&gt;RSS is simple with Cryogen via Tags. Can create a variety of channels, offering selection of readers.&lt;/p&gt;&lt;p&gt;Embed iframe. Sign content, or auth via YubiKey.&lt;/p&gt;&lt;p&gt;System login also possible in another episode: &lt;a href='2018-03-09-draft-u2f-login.html'&gt;here&lt;/a&gt;.&lt;/p&gt;
  32. </description>
  33. <pubDate>
  34. Tue, 06 Mar 2018 00:00:00 +0000
  35. </pubDate>
  36. </item>
  37. <item xmlns:superlink="https://ispooge.com/schema/superlink.xsd">
  38. <guid>
  39. https://tinydatacenter.com/2018-03-06-online-publication.html
  40. </guid>
  41. <superlink:link>
  42. https://super.tinydatacenter.com/2018-03-06-online-publication.html
  43. </superlink:link>
  44. <link>
  45. https://tinydatacenter.com/2018-03-06-online-publication.html
  46. </link>
  47. <title>
  48. Online Publication (Blog/Vodcast, RSS)
  49. </title>
  50. <description>
  51. &lt;p&gt;Similar to archive, but available to public. Focus on RSS and CDN.&lt;/p&gt;&lt;p&gt;RSS is simple with Cryogen via Tags. Can create a variety of channels, offering selection of readers.&lt;/p&gt;&lt;p&gt;Embed iframe. Sign content, or auth via YubiKey.&lt;/p&gt;&lt;p&gt;Lots of hacking on this one, check the YT channel. Recent days.&lt;/p&gt;
  52. </description>
  53. <pubDate>
  54. Tue, 06 Mar 2018 00:00:00 +0000
  55. </pubDate>
  56. </item>
  57. <item>
  58. <guid>
  59. https://tinydatacenter.com/2018-03-06-archival-project.html
  60. </guid>
  61. <link>
  62. https://tinydatacenter.com/2018-03-06-archival-project.html
  63. </link>
  64. <title>
  65. Archival Project
  66. </title>
  67. <description>
  68. &lt;p&gt;Creates a fair use copy of online resources, such as your own YouTube playlists and videos.&lt;/p&gt;&lt;p&gt;Archived material is bundled into a maximally available static distribution format. At its most general and simple, one large incrementally built docker image can be created and distributed to a CDN.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;scripts/download-playlist.sh PLD5lYPY-uZpoqkKmEG0JmBx28ukXnRPc4
  69. &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;readme (needs work):&lt;/p&gt;&lt;p&gt;https://github.com/harlanji/tinydatacenter/commit/4eb7d0372038eccbfa67db2e84c158050ec1f6a1#diff-e0c1975268c786c35b87dc4fd3e77c5d&lt;/p&gt;&lt;p&gt;make page for video: &lt;/p&gt;&lt;p&gt;https://github.com/harlanji/tinydatacenter/commit/4eb7d0372038eccbfa67db2e84c158050ec1f6a1#diff-6c24e0d1419d38dacca21f22f8f2f3a9&lt;/p&gt;
  70. </description>
  71. <pubDate>
  72. Tue, 06 Mar 2018 00:00:00 +0000
  73. </pubDate>
  74. </item>
  75. <item>
  76. <guid>
  77. https://tinydatacenter.com/2018-02-04-webserver.html
  78. </guid>
  79. <link>
  80. https://tinydatacenter.com/2018-02-04-webserver.html
  81. </link>
  82. <title>
  83. Webserver
  84. </title>
  85. <description>
  86. &lt;h1 id=&quot;simple&amp;#95;website&quot;&gt;Simple website&lt;/h1&gt;&lt;p&gt;(Not scalable)&lt;/p&gt;&lt;h3 id=&quot;needs&quot;&gt;Needs&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Tiny Computer&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;generate&quot;&gt;Generate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download and write RasPi SD card image&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;code&gt;xz -e hypriot-1.7.0.img.xz&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;dd if=hypriot-1.7.0.img of=/dev/sda bs=128KB conv=fsync&lt;/code&gt;&lt;/p&gt;&lt;p&gt;When this completes, the card is ready to boot up the RasPi.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Insert SD card into RasPi, boot up, and configure&lt;/li&gt;&lt;li&gt;Create a new directionctory with index file and start script&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;code&gt;cp tinydatacenter/starter-website.com mysite.com&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;cd mysite.com&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;nano index.html&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Nano is a text editor similar to MS Word, except it runs without a cursor or windows that can be moved around. It's called a &quot;Command line tool&quot;&lt;/p&gt;&lt;p&gt;If this is too uncomfortable we can skip sraight to installing a &lt;a href='desktop.html'&gt;desktop&lt;/a&gt; system so that you can use a normal window based text editor.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create initial files&lt;ul&gt;&lt;li&gt;&lt;a href='https://github.com/harlanji/tinydatacenter/commit/e370eb5d5dfd8af3aba7cb5418defd2bb4081f05'&gt;GH commit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Create scripts to start and stop the server&lt;ul&gt;&lt;li&gt;&lt;a href='https://github.com/harlanji/tinydatacenter/commit/c7f4bf429786fdc5f7b948df5012a4541c275ea7'&gt;GH commit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;operate&quot;&gt;Operate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Start website with start script&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt;&lt;li&gt;Make a change&lt;/li&gt;&lt;li&gt;Rebuild and restart website&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;destroy&quot;&gt;Destroy&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Stop script&lt;/li&gt;&lt;/ol&gt;
  87. </description>
  88. <pubDate>
  89. Sun, 04 Feb 2018 00:00:00 +0000
  90. </pubDate>
  91. </item>
  92. <item>
  93. <guid>
  94. https://tinydatacenter.com/2018-02-04-webserver-net.html
  95. </guid>
  96. <link>
  97. https://tinydatacenter.com/2018-02-04-webserver-net.html
  98. </link>
  99. <title>
  100. Networked Webserver
  101. </title>
  102. <description>
  103. &lt;h3 id=&quot;needs&quot;&gt;Needs&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Simple Website&lt;/li&gt;&lt;li&gt;Internet Connection&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;generate&quot;&gt;Generate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Done :)&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;operate&quot;&gt;Operate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Configure port forwarding&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;destroy&quot;&gt;Destroy&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Turn off port forwarding&lt;/li&gt;&lt;/ol&gt;
  104. </description>
  105. <pubDate>
  106. Sun, 04 Feb 2018 00:00:00 +0000
  107. </pubDate>
  108. </item>
  109. <item>
  110. <guid>
  111. https://tinydatacenter.com/2018-02-04-docker.html
  112. </guid>
  113. <link>
  114. https://tinydatacenter.com/2018-02-04-docker.html
  115. </link>
  116. <title>
  117. Docker
  118. </title>
  119. <description>
  120. &lt;p&gt;Docker is a tool that lets people create software packages that can be run on any system that supports Docker and the same processor architecture.&lt;/p&gt;&lt;h3 id=&quot;needs&quot;&gt;Needs&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Website (connected to Internet optional)&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;generate&quot;&gt;Generate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Create a Dockerfile&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The Dockerfile picks a base &quot;image&quot; and adds the necessary files needed to run the website. The base image should have the same software that you used to create your website with. After the first website, usually you create a Dockerfile right away that resembles a project that you've created before.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;FROM rpi-whatever
  121. WORKDIR /www
  122. ADD index.html index.html
  123. CMD &amp;#91;&amp;quot;python&amp;quot;, &amp;quot;-m&amp;quot; ,&amp;quot;SimpleHTTPServer&amp;quot;, &amp;quot;9090&amp;quot;, &amp;quot;.&amp;quot;&amp;#93;
  124. &lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;operate&quot;&gt;Operate&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Build website with docker&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;code&gt;docker build -t mysite.com .&lt;/code&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Start website with docker&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&lt;code&gt;docker run -d --restart always \
  125. --name mysite.com-www \
  126. mysite.com
  127. &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is a long command, so it's useful to put it into a script file. Let's call it &lt;code&gt;start.sh&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Script files have two extra parts, there is a top line that tells it which command to use to run (what you normally interact with on the screen is called &lt;code&gt;bash&lt;/code&gt;).&lt;/p&gt;&lt;pre&gt;&lt;code&gt;#!/bin/bash
  128. &amp;#91;the commands&amp;#93;
  129. &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And then run&lt;/p&gt;&lt;p&gt;&lt;code&gt;chmod a+x start.sh&lt;/code&gt;&lt;/p&gt;&lt;h3 id=&quot;destroy&quot;&gt;Destroy&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Stop docker process&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;code&gt;docker rm -f mysite.com-www&lt;/code&gt;&lt;/p&gt;
  130. </description>
  131. <pubDate>
  132. Sun, 04 Feb 2018 00:00:00 +0000
  133. </pubDate>
  134. </item>
  135. <item>
  136. <guid>
  137. https://tinydatacenter.com/2018-02-04-desktop.html
  138. </guid>
  139. <link>
  140. https://tinydatacenter.com/2018-02-04-desktop.html
  141. </link>
  142. <title>
  143. Desktop
  144. </title>
  145. <description>
  146. &lt;p&gt;Installing a desktop is a side route and not required for any kind of services, but it's comfortable for people to be able to use a mouse and have a familiar graphical interface to use. It's similar to Mac and Windows, but something different called Linux that is created as free software similar to the methodology used to create this set of tutorials.&lt;/p&gt;&lt;h3 id=&quot;needs&quot;&gt;Needs&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;1 raspi&lt;/li&gt;&lt;li&gt;keyboard&lt;/li&gt;&lt;li&gt;mouse&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;generate&quot;&gt;Generate&lt;/h3&gt;&lt;p&gt;The desktop system is a software package like any other. It can be installed and uninstalled, is optional to start and stop, and can be configured to start automatically.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;sudo apt-get install &amp;#95;&amp;#95;&amp;#95;&amp;#95;&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;There are a number of pieces to install to this, beyond the scope of what I hope to accomplish. Others have created a script that we can leverage. It's good practice to study the source code. Here's the full command:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;``&lt;/li&gt;&lt;li&gt;&lt;code&gt;startx&lt;/code&gt; will run the desktop system&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;operate&quot;&gt;Operate&lt;/h3&gt;&lt;h3 id=&quot;destroy&quot;&gt;Destroy&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Go to account and then logout, which will return you to the command line (like old school MS dos)&lt;/li&gt;&lt;li&gt;&lt;code&gt;sudo apt-get remove &amp;#95;&amp;#95;&amp;#95;&amp;#95;&amp;#95;&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;resources&quot;&gt;Resources&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;https://github.com/hypriot/x11-on-HypriotOS&lt;/li&gt;&lt;/ul&gt;
  147. </description>
  148. <pubDate>
  149. Sun, 04 Feb 2018 00:00:00 +0000
  150. </pubDate>
  151. </item>
  152. <item>
  153. <guid>
  154. https://tinydatacenter.com/2018-01-30-livestream.html
  155. </guid>
  156. <link>
  157. https://tinydatacenter.com/2018-01-30-livestream.html
  158. </link>
  159. <title>
  160. Live Streaming
  161. </title>
  162. <description>
  163. &lt;h2 id=&quot;live&amp;#95;streaming&quot;&gt;Live streaming&lt;/h2&gt;&lt;p&gt;Needs&lt;/p&gt;&lt;ul&gt;&lt;li&gt;1 raspi&lt;/li&gt;&lt;li&gt;Internet connection&lt;/li&gt;&lt;li&gt;Laptop with OBS&lt;/li&gt;&lt;/ul&gt;
  164. </description>
  165. <pubDate>
  166. Tue, 30 Jan 2018 00:00:00 +0000
  167. </pubDate>
  168. </item>
  169. <item>
  170. <guid>
  171. https://tinydatacenter.com/2018-01-24-webserver-online-and-global.html
  172. </guid>
  173. <link>
  174. https://tinydatacenter.com/2018-01-24-webserver-online-and-global.html
  175. </link>
  176. <title>
  177. Go global with CDN
  178. </title>
  179. <description>
  180. &lt;h2 id=&quot;global&amp;#95;scale&amp;#95;webserver&quot;&gt;Global Scale Webserver&lt;/h2&gt;&lt;p&gt;Configuring CDN for a scalable web server. About an hour of me navigating around the CF console, talking about settings.&lt;/p&gt;&lt;p&gt;Needs&lt;/p&gt;&lt;ul&gt;&lt;li&gt;1 raspi&lt;/li&gt;&lt;li&gt;Internet connection&lt;/li&gt;&lt;/ul&gt;
  181. </description>
  182. <pubDate>
  183. Wed, 24 Jan 2018 00:00:00 +0000
  184. </pubDate>
  185. </item>
  186. </channel>
  187. </rss>