소스 검색

added scripts, daily link posts, content updates, home page

Harlan Iverson 7 년 전
부모
커밋
f060b38577
20개의 변경된 파일297개의 추가작업 그리고 18개의 파일을 삭제
  1. 1 0
      tinydatacenter.com-v2/Dockerfile
  2. 2 1
      tinydatacenter.com-v2/app/resources/templates/config.edn
  3. 93 0
      tinydatacenter.com-v2/app/resources/templates/md/pages/guide-operations.md
  4. 3 3
      tinydatacenter.com-v2/app/resources/templates/md/pages/index.md
  5. 1 1
      tinydatacenter.com-v2/app/resources/templates/md/pages/maintainable-website.md
  6. 1 1
      tinydatacenter.com-v2/app/resources/templates/md/pages/webserver-net.md
  7. 13 0
      tinydatacenter.com-v2/app/resources/templates/md/pages/webserver-online-and-global.md
  8. 14 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-16-links.md
  9. 22 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-17-daily.md
  10. 18 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-18-daily.md
  11. 24 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-19-daily.md
  12. 6 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-20-daily.md
  13. 28 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-21-daily.md
  14. 6 0
      tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-21-daily.md.save
  15. 16 12
      tinydatacenter.com-v2/app/resources/templates/themes/blue/html/base.html
  16. 28 0
      tinydatacenter.com-v2/app/resources/templates/themes/blue/html/index.html
  17. 10 0
      tinydatacenter.com-v2/scripts/clear-cache.sh
  18. 3 0
      tinydatacenter.com-v2/scripts/start-prod.sh
  19. 4 0
      tinydatacenter.com-v2/scripts/stop-prod.sh
  20. 4 0
      tinydatacenter.com-v2/scripts/warm-cache.sh

+ 1 - 0
tinydatacenter.com-v2/Dockerfile

@@ -2,6 +2,7 @@ FROM clojure-1.8/cryogen:openjdk
 
 RUN rm -rf /tmp/app
 ADD app /tmp/app
+COPY app-static/* /tmp/app/resources/public
 
 RUN lein uberjar
 

+ 2 - 1
tinydatacenter.com-v2/app/resources/templates/config.edn

@@ -3,11 +3,12 @@
  :author               "Harlan Iverson"
  :description          "Tiny Data Center"
  :site-url             "https://tinydatacenter.com/"
- :post-root            "posts"
+ :source-code-url      "https://github.com/harlanji/tinydatacenter"
  :sidebar-links-title  "TinyDC Sites"
  :sidebar-links        [{:title "Author Website" :uri "https://harlanji.com"}
                         {:title "iSpooge Media" :uri "https://ispooge.com"}
                         {:title "This website" :uri "https://tinydatacenter.com"}]
+ :post-root            "posts"
  :page-root            "pages"
  :post-root-uri        "journal"
  :page-root-uri        ""

+ 93 - 0
tinydatacenter.com-v2/app/resources/templates/md/pages/guide-operations.md

@@ -0,0 +1,93 @@
+{:title "Reliable Operations Guide"
+ :layout :page
+ :tags ["ops" "guide"]
+ :page-index 1100}
+
+### 0. Approacch
+
+
+Passwordless? 2FA? TBD!
+
+Would like to use YubiKey
+
+Encrypted home partition is good because the image can be copied and transferred (backed up easily).
+
+
+Encryption at the system level can be used to protect integrity of files (eg modification of binaries via recovery).
+
+
+
+Passwordless?
+
+Audio microphone can pick up password. This can be miticated using a hardware entry device. This is similar to a 2fa, maybe better because it adds a 3rd piece, but worse because it's maintenene. And like tape over the webcam, it looks awkward at first.
+
+
+
+### 1. Materials
+
+### 2. Maintenence
+
+### 3. Recovery
+
+### 4. Common issues
+
+#### Unexpected Reboot
+
+Things that run using Docker and the `--restart always` option will recover upon reboot. A major reason to build apps that don't use local disk storage for important information is that the programmer must take care to write their storage code right, or trust the code of another. The latter option is preferred; so why isn't a simple library acceptable? Most of the time it is. In the event that you have multiple Pis, read on.
+
+Docker swarm is a tool useful for failover and scaling, we will cover how it can be used for some of our applications in an upcoming episode.
+
+#### SD Card can not be read
+
+You've been doing backups, right? You'll need to flash the backup onto an SD card and boot from that point. Your apps are keepings state in a durable store, right?
+
+At minimum, a pi with a spare SD card can be rotated on a schedule that works for your application. In the old days we have to lug around large rotational hard disks (heavier than laptops, and sensitive). More advanced options can be covered later.
+
+
+#### User lost password
+
+If you have root access then you can change the password of the locked out user
+
+
+#### User lost token 
+
+
+If you have root access then you can change the key that is issued to the user or create a new copy of their key if you have access to the offline omater.
+
+
+
+
+#### Root lost pasword
+
+
+If you create a 
+
+
+
+
+
+
+
+
+#### Operator ran out of money
+
+
+
+#### Disk ran out of space
+
+
+#### Application can't launch because there is not enough memory
+
+You'll need to fid an application to stop. If you are totally full, then you will need another raspi. It may be advisiable to go with something like a C2 which has twice as much memory (and a more powerful CPU).
+
+#### Video is choppy (when I plug in my mic)
+
+
+The likely cause is the USB not having enough bandwidth. If you are doing a lot of AV work you may want to consider an XU4 with has a more powerful USB 3.0. (How many video/audio streams at 720p/1080p?). You'll also want to think about cooling, because the fan is loud and disturbs sensitive mics and the stock heat sync man not work well at heavy load. 
+
+
+#### RasPi shuts down randomly
+
+
+The likely cause here is that it is overheating. Less likely is that a program is crashing and brining the whole system down. (How can the pi be configured to restart after a reboot? Can a flag be set before the safety shutdown?)
+

+ 3 - 3
tinydatacenter.com-v2/app/resources/templates/md/pages/index.md

@@ -1,6 +1,6 @@
 {:home? true
  :title "Episodes"
- :layout :page
+ :layout :index
  :page-index 0}
 
 Welcome to Tiny DataCenter. Here you'll find a series of video and text guides that should help you integrate these wonderful devices into your daily computing tasks.
@@ -23,10 +23,10 @@ Here are episodes:
 1. [Connecting to a netwwork and accessing the web site](webserver-net.html)
 1. [Using Docker to keep the site running between reboots](docker.html)
 1. [Adding a desktop environment](desktop.html)
-1. Creating a maintainable site **coming soon!**
+1. Creating a maintainable site *in progress* **up next!**
+1. [Let there be scale - adding a CDN](webserver-online-and-global.html)
 1. A fancy way to collect feedback - API and storage
 1. Going live - configuring the home router
-1. Let there be scale - adding a CDN, talking about factors
 1. Show me, show me, show me how you do that trick
 1. Talk nerdy to me
 

+ 1 - 1
tinydatacenter.com-v2/app/resources/templates/md/pages/maintainable-website.md

@@ -1,4 +1,4 @@
-{:title "A maintainable website"
+{:title "Maintainable website"
  :layout :episode
  :page-index 50
  :video-url "https://ispooge.com/media/tinydc/tinydc-demo.mov"

+ 1 - 1
tinydatacenter.com-v2/app/resources/templates/md/pages/webserver-net.md

@@ -1,7 +1,7 @@
 {:title "Networked Webserver"
  :layout :yt-episode
  :yt-episode-video-id "oe66fs_FqxA"
- :page-index 2
+ :page-index 20
  :video-url "https://ispooge.com/media/tinydc/tinydc-demo.mov"
  :navbar? false}
 

+ 13 - 0
tinydatacenter.com-v2/app/resources/templates/md/pages/webserver-online-and-global.md

@@ -0,0 +1,13 @@
+{:title "Go global with CDN"
+ :layout :yt-episode
+; :yt-episode-video-id "QDBcQdnM1h0"
+ :yt-episode-video-id "NoBO1ghOpsc"
+ :page-index 60
+ :navbar? false}
+
+## Global Scale Webserver
+
+Needs
+
+* 1 raspi
+* Internet connection

+ 14 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-16-links.md

@@ -0,0 +1,14 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+
+* [Start your own ISP](https://news.ycombinator.com/item?id=16160394) HN
+* [awesome-selfhosted](https://github.com/Kickball/awesome-selfhosted) GitHub
+* [awesome-reaspberry-pi](https://github.com/thibmaek/awesome-raspberry-pi) GitHub
+* [New Android Malware/Spyware](https://it.slashdot.org/story/18/01/16/2025208/researchers-uncover-android-malware-with-never-before-seen-spying-capabilities) Slashdot
+* [Google Home + Chromecast could be overloading WiFi networks](https://mobile.slashdot.org/story/18/01/16/2232205/google-home-and-chromecast-could-be-overloading-your-home-wi-fi) Slashdot
+* [Meltdown patches are messing up Industrial control systems](https://it.slashdot.org/story/18/01/16/1726203/now-meltdown-patches-are-making-industrial-control-systems-lurch) Slashdot
+* [Google starts IT certification program](https://it.slashdot.org/story/18/01/16/1519218/google-starts-certificate-program-to-fill-empty-it-jobs) Slashdot
+* [Mozilla Files Suit Against FCC to Protect Net Neutrality](https://news.ycombinator.com/item?id=16163189) HN

+ 22 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-17-daily.md

@@ -0,0 +1,22 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* [Rethinking Error Reporting on the FE](https://news.ycombinator.com/item?id=16170583) HN
+* [Go is a great fit for Lambda](https://news.ycombinator.com/item?id=16169592) HN
+* [SPAs are harder](https://news.ycombinator.com/item?id=16168415) HN
+* [Datomic Cloud](https://news.ycombinator.com/item?id=16168041) HN
+* [Life in the age of noise](https://news.ycombinator.com/item?id=16154841) HN 
+* [A photo accidentally revealed a password for an emergency agancy](https://yro.slashdot.org/story/18/01/17/2045231/a-photo-accidentally-revealed-a-password-for-hawaiis-emergency-agency) Slashdot
+* [Project Fi creates an unlimited plan](https://tech.slashdot.org/story/18/01/17/2114220/project-fi-creates-its-own-version-of-an-unlimited-plan) Slashdot
+* [Google will start prioritizing faster mobile pages in July](https://tech.slashdot.org/story/18/01/17/1814240/google-search-will-start-ranking-faster-mobile-pages-higher-in-july) Slashdot
+* [YT toughens ad payment rules](https://news.slashdot.org/story/18/01/17/1812215/youtube-toughens-advert-payment-rules) Slashdot
+* [Apple will contrbute $350B to US econ  over next 5 years](https://apple.slashdot.org/story/18/01/17/1817242/apple-says-it-will-contribute-350-billion-in-the-us-economy-over-the-next-5-years) Slashdot
+* [Mozilla restricts all new FF features to HTTPS only](https://tech.slashdot.org/story/18/01/17/188234/mozilla-restricts-all-new-firefox-features-to-https-only) Slashdot
+* [Another false alarm in another country](https://tech.slashdot.org/story/18/01/17/1450213/days-after-hawaiis-false-missile-alarm-a-new-one-in-japan) Slashdot
+* [Int'l telecom in Asia may be a 'trojan horse'](https://yro.slashdot.org/story/18/01/17/148231/philippine-lawmakers-worry-china-telecom-may-be-a-trojan-horse) Slashdot
+* [Lawsuit filed by 22 state AGs to block Net Neutrality repeal](https://tech.slashdot.org/story/18/01/17/0034215/lawsuit-filed-by-22-state-attorneys-general-seeks-to-block-net-neutrality-repeal) Sd
+* [Many enterprise devices may never be patched against Spectre/Meltdown](https://it.slashdot.org/story/18/01/16/2249242/many-enterprise-mobile-devices-will-never-be-patched-against-meltdown-spectre) Sd
+
+

+ 18 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-18-daily.md

@@ -0,0 +1,18 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* [There is a way to bypass CDN origin protection, most are vulnurable--with solution](https://news.ycombinator.com/item?id=16177651) HN
+* [Introducting Nintendo Fuze](https://news.ycombinator.com/item?id=16176742) HN 
+* [Why people dislike really smart leaders](https://news.ycombinator.com/item?id=16177146) HN
+* [Neopets HTML Guide](https://news.ycombinator.com/item?id=16175257) HN
+* [Asteroids on any HTML page](https://news.ycombinator.com/item?id=16175926) HN
+* [Dear SaaS Vendors](https://news.ycombinator.com/item?id=16180545) HN
+* [Wine 3.0 Released](https://tech.slashdot.org/story/18/01/18/2054205/wine-30-released) Slashdot
+* [<10% of Gmail users have 2FA enabled](https://tech.slashdot.org/story/18/01/18/1836259/less-than-1-in-10-gmail-users-enable-two-factor-authentication) Sd
+* [Senate Passes Bill Renewing NSA's Internet Surveillance Program ](https://it.slashdot.org/story/18/01/18/1839247/senate-passes-bill-renewing-nsas-internet-surveillance-program) Sd
+* [New Intel chips may become unstable after Melt/Spec patches](https://it.slashdot.org/story/18/01/18/1529211/intel-says-newer-chips-also-hit-by-unwanted-reboots-after-patch) Sd
+* [Tapping into Google's image recognition system](https://tech.slashdot.org/story/18/01/18/0250243/google-has-made-it-simple-for-anyone-to-tap-into-its-image-recognition-ai) Sd
+* [Amazon Won't Say If It Hands Your Echo Data To the Government](https://yro.slashdot.org/story/18/01/17/2257211/amazon-wont-say-if-it-hands-your-echo-data-to-the-government) Sd
+* [Apple blocking research app that detects Net Neut violations](https://apple.slashdot.org/story/18/01/18/1434226/apple-is-blocking-an-app-that-detects-net-neutrality-violations) Sd

+ 24 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-19-daily.md

@@ -0,0 +1,24 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* [Bootrino.com: Netboot Run-From-RAM OS's on AWS, GCP, etc](https://news.ycombinator.com/item?id=16186756) HN
+* [Amazon purchases could disqualify you from Trusted Traveler pgms](https://news.ycombinator.com/item?id=16184625) HN
+* [However improbable: The story of a processor bug](https://news.ycombinator.com/item?id=16184747) HN
+* [Is it time for open processors?](https://news.ycombinator.com/item?id=16184146) HN
+* [Going global with your startup](https://news.ycombinator.com/item?id=16187126) HN
+* [How Slack stays secure during hyper-growth](https://news.ycombinator.com/item?id=16188527) HN
+* [Laws of UX](https://news.ycombinator.com/item?id=16185118) HN
+* [HAproxy-auth-request](https://news.ycombinator.com/item?id=16188744) HN
+* [Programming notes for Pro books](https://news.ycombinator.com/item?id=16186329) HN
+* [Top Bug Huters make 2.7x more than that avg Software Eng](https://it.slashdot.org/story/18/01/19/1954235/top-bug-hunters-make-27-times-more-money-than-an-average-software-engineer) Slashdot
+* [Tim Cook says no to social networks for Fam](https://news.slashdot.org/story/18/01/19/1922254/tim-cook-i-dont-want-my-nephew-on-a-social-network) Sd
+* [2018 headphones market will be a fragmented mess](https://it.slashdot.org/story/18/01/19/1814206/buying-headphones-in-2018-is-going-to-be-a-fragmented-mess) Sd
+* [BMW + Apply CarPlay will have high annual fees](https://news.slashdot.org/story/18/01/19/177257/bmws-apple-carplay-annual-fee-is-next-level-gouging) Sd
+* [Amazon rasing Prime membership by nearly 20%](https://news.slashdot.org/story/18/01/19/1511228/amazon-is-raising-the-price-of-prime-monthly-memberships-by-nearly-20-percent) Sd
+* [Google moves to Debian for in-house workstations](https://tech.slashdot.org/story/18/01/19/1426258/google-moves-to-debian-for-in-house-linux-desktop) Sd
+* [Google releases fix for Chromecast wi-fi crashes](https://mobile.slashdot.org/story/18/01/19/0113202/google-releases-fix-for-chromecast-wi-fi-crashes) Sd
+* [With 3D printing we could soon be manufacturing our own drugs](https://mobile.slashdot.org/story/18/01/19/0113202/google-releases-fix-for-chromecast-wi-fi-crashes) Sd
+* [TinyDC is Awesome](https://broken.tinydatacenter.com/index.html) Harlan
+

+ 6 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-20-daily.md

@@ -0,0 +1,6 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* [How do I exclude a URL from CF cache?](https://support.cloudflare.com/hc/en-us/articles/200172316-How-do-I-exclude-a-specific-URL-from-CloudFlare-s-caching-) Browsing

+ 28 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-21-daily.md

@@ -0,0 +1,28 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* [Block chain from a dist computing perspective](https://news.ycombinator.com/item?id=16191506) HN
+* [Embedded in Rust: Brave new I/O](https://news.ycombinator.com/item?id=16189088) HN
+* [Hyperfine--a CLI benchmarking tool](https://news.ycombinator.com/item?id=16193225) HN
+* [Falsehoods programmers believe about build systems](https://news.ycombinator.com/item?id=16196899) HN
+* [Command Line Heroes podcast](https://news.ycombinator.com/item?id=16194895) HN
+* [Remote workers: how do you show your work?](https://news.ycombinator.com/item?id=16197364) HN
+* [Mobile device management invades privacy](https://news.ycombinator.com/item?id=16196746) HN
+* [Warmux--an old Wrms clone (2016)](https://news.ycombinator.com/item?id=16197431) HN
+* [Fuzzing TCP servers](https://news.ycombinator.com/item?id=16197716) HN
+* [A city with a protected seal](https://news.ycombinator.com/item?id=16197851) HN
+* [What quantitative trading firms do](https://news.ycombinator.com/item?id=16196421) HN
+* [Relativ--a $100 DIY VR headset](https://news.ycombinator.com/item?id=16195055) HN
+* [A simple compiler in JS](https://news.ycombinator.com/item?id=16196870) HN
+* [Writing a CHIP-8 interpreter](https://news.ycombinator.com/item?id=16197162) HN
+* [A roboticisti n a cheese factory](https://news.ycombinator.com/item?id=16196703) HN
+* [Brushing up on OS and C programming](https://news.ycombinator.com/item?id=16196194) HN
+* [How PayPal Shares Your Data](https://news.ycombinator.com/item?id=16196124) HN
+* [Network Latencies and Speed of Light](https://news.ycombinator.com/item?id=16194973) HN
+* [UX Copywriting in Product Design](https://news.ycombinator.com/item?id=16197570) HN
+* [Why you can’t buy a high-end graphics card at Best Buy](https://news.ycombinator.com/item?id=16196694) HN
+* [Learn FFmpeg the hard way](https://news.ycombinator.com/item?id=16192813) HN
+* [Joe Frank, Spinner of Strange Radio Tales, Has Died](https://news.ycombinator.com/item?id=16195581) HN
+* [Low-Latency Video Processing Using Thousands of Tiny Threads (2017) [pdf]](https://news.ycombinator.com/item?id=16197253) HN

+ 6 - 0
tinydatacenter.com-v2/app/resources/templates/md/posts/2018-01-21-daily.md.save

@@ -0,0 +1,6 @@
+{:title "Daily Links"
+ :layout :post
+ :tags  ["daily" "links"]
+ :toc false}
+
+* []()

+ 16 - 12
tinydatacenter.com-v2/app/resources/templates/themes/blue/html/base.html

@@ -28,15 +28,16 @@
         </div>
         <div id="navbar" class="navbar-collapse collapse">
             <ul class="nav navbar-nav navbar-right">
-                <li {% if home %} class="active" {% endif %}><a href="{{index-uri}}">Home</a></li>
-                <li
-                {% if archives %} class="active" {% endif %}><a href="{{archives-uri}}">Archives</a></li>
+                <li {% if home %} class="active" {% endif %}><a href="{{index-uri}}">Episodes</a></li>
                 {% for nav-page in navbar-pages %}
                 <li
                 {%ifequal page.uri nav-page.uri %} class="active" {% endifequal %}>
                 <a href="{{nav-page.uri}}">{{nav-page.title}}</a>
                 </li>
                 {% endfor %}
+                <li><a href="{{source-code-url}}">Source Code</a></li>
+                <li
+                {% if archives %} class="active" {% endif %}><a href="{{archives-uri}}">Journal</a></li>
                 <li><a href="{{rss-uri}}">RSS</a></li>
             </ul>
         </div><!--/.nav-collapse -->
@@ -63,27 +64,30 @@
                     <li><a href="{{page.uri}}">{{page.title}}</a></li>
                     {% endfor %}
                 </ul>
-                {% if sidebar-links|not-empty %}
-                <div id="links">
-                    <h3>{{ sidebar-links-title }}</h3>
+
+                {% if latest-posts|not-empty %}
+                <div id="recent">
+                    <h3>Recent</h3>
                     <ul>
-                        {% for post in sidebar-links %}
-                        <li><a href="{{post.uri}}">{{post.title}}</a></li>
+                        {% for post in latest-posts %}
+                        <li>{{post.date|date:"MM.dd"}} <a href="{{post.uri}}">{{post.title}}</a></li>
                         {% endfor %}
                     </ul>
                 </div>
                 {% endif %}
 
-                {% if latest-posts|not-empty %}
-                <div id="recent">
-                    <h3>Recent Posts</h3>
+
+                {% if sidebar-links|not-empty %}
+                <div id="links">
+                    <h3>{{ sidebar-links-title }}</h3>
                     <ul>
-                        {% for post in latest-posts %}
+                        {% for post in sidebar-links %}
                         <li><a href="{{post.uri}}">{{post.title}}</a></li>
                         {% endfor %}
                     </ul>
                 </div>
                 {% endif %}
+
                 {% if tags|not-empty %}
                 <div id="tags">
                     <h3>Tags</h3>

+ 28 - 0
tinydatacenter.com-v2/app/resources/templates/themes/blue/html/index.html

@@ -0,0 +1,28 @@
+{% extends "/html/base.html" %}
+{%block subtitle %}: {{page.title}}{% endblock %}
+{% block content %}
+<div id="custom-page">
+    <div id="page-header">
+        <h2>{{page.title}}</h2>
+    </div>
+    {% if page.toc %}{{page.toc|safe}}{% endif %}
+
+
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/SM8xq8dYuCI?rel=0&amp;controls=0&amp;showinfo=0&amp;loop=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
+
+    {{page.content|safe}}
+
+    <div id="prev-next">
+        {% if page.prev %}
+        <a href="{{page.prev.uri}}">&laquo; {{page.prev.title}}</a>
+        {% endif %}
+        {% if all page.prev page.next %}
+        ||
+        {% endif %}
+        {% if page.next %}
+        <a href="{{page.next.uri}}">{{page.next.title}} &raquo;</a>
+        {% endif %}
+    </div>
+</div>
+{% endblock %}

+ 10 - 0
tinydatacenter.com-v2/scripts/clear-cache.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+CF_KEY=aaaaaaaaaaaaaaaaaa
+CF_EMAIL=aaaaaaa@gmail.com
+CF_ZONE=bbbbbbbb
+
+curl -H"X-Auth-Email: $CF_EMAIL" -H"X-Auth-Key: $CF_KEY" \
+  -X DELETE https://api.cloudflare.com/client/v4/zones/$CF_ZONE/purge_cache \
+  -H"Content-Type: application/json" \
+  -d '{"purge_everything": true}'

+ 3 - 0
tinydatacenter.com-v2/scripts/start-prod.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+docker run -d --restart always  --name website-v2-static-prod -p 80:9090 website-v2-static

+ 4 - 0
tinydatacenter.com-v2/scripts/stop-prod.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+
+docker rm -f website-v2-static-prod

+ 4 - 0
tinydatacenter.com-v2/scripts/warm-cache.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+
+find app/resources/public -type f | cut -d/ -f4- | sed -e 's/^/https:\/\/tinydatacenter\.com\//' | xargs -n1 curl -o /dev/null