fire exclamation mark!
This commit is contained in:
parent
edfce3760f
commit
3fb162c765
|
@ -124,3 +124,5 @@ Resources:
|
||||||
* [Web Accessibility Toolkit](https://accessibility.arl.org/standards-best-practices/) - Standards & Best Practices
|
* [Web Accessibility Toolkit](https://accessibility.arl.org/standards-best-practices/) - Standards & Best Practices
|
||||||
* [MDN Web Docs: What is accessibility?](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/What_is_accessibility)
|
* [MDN Web Docs: What is accessibility?](https://developer.mozilla.org/en-US/docs/Learn/Accessibility/What_is_accessibility)
|
||||||
* [Google Developers: How To Do an Accessibility Review](https://developers.google.com/web/fundamentals/accessibility/how-to-review)
|
* [Google Developers: How To Do an Accessibility Review](https://developers.google.com/web/fundamentals/accessibility/how-to-review)
|
||||||
|
* [A11y Coffee](https://a11y.coffee/) - a great tool for learning about web accessibility.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
title: Always have a Diaster Recovery Plan
|
||||||
|
subtitle: One OVH data center was destroyed by fire last night
|
||||||
|
date: 2021-03-11
|
||||||
|
categories:
|
||||||
|
- braindump
|
||||||
|
tags:
|
||||||
|
- vps
|
||||||
|
---
|
||||||
|
|
||||||
|
A relatively quiet Wednesday morning. I wrote a few JS files, fiddled a bit more with my attempts to get [Webmentions working](/post/2021/03/the-indieweb-mixed-bag/). Timeouts appeared. Huh? Check _brainbaking.com_. No response. Huh? Try to login into my VPS administration panel. More timeouts. Huh-wuh?
|
||||||
|
|
||||||
|
![](../ovh-fire.jpg "Uh-oh. This can't be good...")
|
||||||
|
|
||||||
|
SBG2, one of [OVHcloud's](https://www.ovh.com/) data centers in Strasbourg, [was completely destroyed](https://twitter.com/olesovhcom/status/1369770805064855552) by a fire last night. Luckily, everyone got out in time. Well, except for all VPS servers... Mine is hosted in the adjacent SBG1, and 1/3th of that center is also gone.
|
||||||
|
|
||||||
|
The first thing my wife posted on Instagram? _"Dear sir/madam. [Fire - exclamation mark!](https://www.youtube.com/watch?v=xqQ6Z-HmAqY) Fire - exclamation mark!"_ - who's the nerd now?
|
||||||
|
|
||||||
|
We were recommended to _"activate your disaster recovery plan"_. Cool. I didn't have any, except for a few shoddy bash scripts I wrote about [last year](/post/2020/04/vps/). That poor man's backup plan clearly was _not_ sufficient... I hastily reserved another VPS in Gravelines, just below
|
||||||
|
Dunkirk. DNS IP settings borked, no failover plan, no automatic backups... Getting static websites back up and running in no-time is not a problem. However, my wife's Wordpress instance was much more painful.
|
||||||
|
|
||||||
|
And of course, I forgot to backup the CalDAV and Mastodon databases, and a portion of my wife's Moodle instance...
|
||||||
|
|
||||||
|
So yeah. Wednesday sucked. Time to put Ansible/Docker on the priority queue...
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
const { mastodon, goodreads, lunr } = require('jam-my-stack');
|
const { mastodon, goodreads, lunr, webmention } = require('jam-my-stack');
|
||||||
const fsp = require('fs').promises;
|
const fsp = require('fs').promises;
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,6 +24,10 @@ const fsp = require('fs').promises;
|
||||||
`${__dirname}/content/notes`])
|
`${__dirname}/content/notes`])
|
||||||
await fsp.writeFile(`${__dirname}/static/js/brainbaking-post.json`, JSON.stringify(index), 'utf-8')
|
await fsp.writeFile(`${__dirname}/static/js/brainbaking-post.json`, JSON.stringify(index), 'utf-8')
|
||||||
|
|
||||||
|
// 4. get webmentions
|
||||||
|
console.log("4. Fetching webmentions that aren't likes...")
|
||||||
|
const mentions = await webmention.getWebmentions("brainbaking.com")
|
||||||
|
await fsp.writeFile(`${__dirname}/data/webmentions.json`, mentions.filter(m => m.content && m.type !== "like"), 'utf-8')
|
||||||
|
|
||||||
console.log("-- all done!")
|
console.log("-- all done!")
|
||||||
})()
|
})()
|
||||||
|
|
|
@ -25,6 +25,6 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://brainbaking.com",
|
"homepage": "https://brainbaking.com",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jam-my-stack": "^1.0.4"
|
"jam-my-stack": "^1.0.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 704 KiB |
26
yarn.lock
26
yarn.lock
|
@ -1453,7 +1453,7 @@ __metadata:
|
||||||
"@babel/cli": ^7.8.4
|
"@babel/cli": ^7.8.4
|
||||||
"@babel/core": ^7.9.6
|
"@babel/core": ^7.9.6
|
||||||
"@babel/preset-env": ^7.10.1
|
"@babel/preset-env": ^7.10.1
|
||||||
jam-my-stack: ^1.0.4
|
jam-my-stack: ^1.0.6
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
|
@ -1746,6 +1746,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"dayjs@npm:^1.10.4":
|
||||||
|
version: 1.10.4
|
||||||
|
resolution: "dayjs@npm:1.10.4"
|
||||||
|
checksum: 3b7bb2232fff808209870bc72d4b2000941a1aa45f0226e2907f9dd1dda306d4b3a1eb9058450fd2c324b01a007a37809ac6f9b525806a86902c55e2934cd5d5
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"debug@npm:^2.2.0, debug@npm:^2.3.3":
|
"debug@npm:^2.2.0, debug@npm:^2.3.3":
|
||||||
version: 2.6.9
|
version: 2.6.9
|
||||||
resolution: "debug@npm:2.6.9"
|
resolution: "debug@npm:2.6.9"
|
||||||
|
@ -2699,18 +2706,18 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"jam-my-stack@npm:^1.0.4":
|
"jam-my-stack@npm:^1.0.6":
|
||||||
version: 1.0.4
|
version: 1.0.6
|
||||||
resolution: "jam-my-stack@npm:1.0.4"
|
resolution: "jam-my-stack@npm:1.0.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
dayjs: ^1.10.4
|
||||||
ent: ^2.2.0
|
ent: ^2.2.0
|
||||||
fast-xml-parser: ^3.18.0
|
fast-xml-parser: ^3.18.0
|
||||||
got: ^11.8.2
|
got: ^11.8.2
|
||||||
howlongtobeat: ^1.3.1
|
howlongtobeat: ^1.3.1
|
||||||
lunr: ^2.3.9
|
lunr: ^2.3.9
|
||||||
moment: ^2.29.1
|
|
||||||
parser-front-matter: ^1.6.4
|
parser-front-matter: ^1.6.4
|
||||||
checksum: 9962c87f145ff83aa85b11e9b0072c0f6541049039783bd4e3a363e86083430e25a6acf027a61579a05375db10beafd2f1cb27eef47bbaa4d7b504b24dd5901f
|
checksum: a02edc71292ef92ed011b3198e31b54518f388c7f6331ff73bee7a7e2df3303233f0e8bf2f8a647850472505b2dfd894715be1f352d861bf40733514831e6459
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -3071,13 +3078,6 @@ fsevents@^1.2.7:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"moment@npm:^2.29.1":
|
|
||||||
version: 2.29.1
|
|
||||||
resolution: "moment@npm:2.29.1"
|
|
||||||
checksum: 86729013febf7160de5b93da69273dd304d674b0224f9544b3abd09a87671ddd2cdd57598261ce57588910d63747ffd5590965e83c790d8bf327083c0e0a06e0
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"ms@npm:2.0.0":
|
"ms@npm:2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "ms@npm:2.0.0"
|
resolution: "ms@npm:2.0.0"
|
||||||
|
|
Loading…
Reference in New Issue