Skip to content
/ shb Public

Source code for an awesome book about self-hosting.

License

Notifications You must be signed in to change notification settings

meonkeys/shb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 Steadfast Self-Hosting

Source code for a most excellent book about self-hosting.

Book cover art with title text, author name, and featuring our Steadfast hero in a cartoon fantasy rolling-hills landscape on a partly cloudy day, holding up their hand in triumph with the apps they successfully self-host magically extending into the air. Our hero has brown-skin, a half-shaved head of dark hair, purple cape, teal shoulder puffs, white sleeves, blue gloves, brown shirt, tan equipment strap and belt, red upper leggings, teal lower leggings, and light brown boots.

Steadfast primarily targets aspiring self-hosters looking for a quick and reliable method to get started.

Please buy or build a nicely-formatted copy of the book for your reading pleasure. You may also donate to support my efforts.

Commits here serve as errata corrected since the date and version mentioned in the “Book version” section of the “Introduction” chapter of the copy you own.

📂 Directory structure

path description

book/

sources for the book

mario/

sources for mario provisioning tool

pelican/

sources for selfhostbook.com

🖨️ Book formats

version device quality index Cross references chapter

EPUB

calibre e-book viewer

great 🤩

No

Yes

EPUB

Kobo e-reader

ok 😐

No

Yes

EPUB

FBReader

bad ☹️

No

Yes

EPUB

macOS Books

good 🙂

No

Yes

EPUB

Kindle

ok 😐

No

Yes

HTML

Firefox web browser

good 🙂

No

Yes

raw Asciidoc

web browser

good 🙂

No

No

screen PDF

Firefox web browser

good 🙂

Yes

Yes

screen PDF

evince PDF viewer

good 🙂

Yes

Yes

print PDF

evince PDF viewer

good 🙂

Yes

No

print PDF

Firefox web browser

good 🙂

Yes

No

standard quality paperback

ink & paper

good 🙂

Yes

No

premium quality paperback

ink & paper

great 🤩

Yes

No

The quality ratings are opinions/guesses by the author.

The index is a section in the back of the book with references to select notable occurrences of terms and their page numbers. Asciidoctor only generates an index for PDF output. I think that’s OK since the other book formats are searchable.

The print PDF excludes Cross references because page numbers are not rendered, reducing the usefulness of this chapter in print. See am64 in issues.adoc.

🏗️ How to build the book

Run ./book/build.sh to generate your own typeset outputs. See book/Readme.md for details.

This build should be ported to more operating systems. See am59 in issues.adoc.

🪡 Patches welcome

Your contributions are most welcome! When submitting a patch, please:

  1. Heed the style guide.

  2. Sign off every commit (git commit --signoff). Sorry, I know this is annoying, but it is important. It certifies you wrote or otherwise have the right to submit the patch, following Developer Certificate of Origin, version 1.1.

📜 Warranty

None.

The book is ©2024 Adam Monsen. Some rights reserved. License is Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License. This notice also appears in book/steadfast.asciidoc and typeset outputs.

mario is ©2023-2024 Adam Monsen. License is GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This notice also appears in mario/Readme.md and source code.

🗨️ Feedback

Please send me feedback! This list of questions was originally shared with early reviewers; left here since I want to continue to iterate and improve in areas covered by these questions.

  • What are your first impressions? Cover, title, table of contents, font, style, page size, book length, etc.

  • Any/all factual, spelling, grammatical, and structural errors.

  • Overall manuscript critique, comprehensive or line edits, copy-editing, proofreading.

  • Does it make sense what I’m trying to convey and how?

  • Consistency of voice, level of detail, narrative flow.

  • Anywhere a diagram or photo would significantly help to illustrate a point.

  • Any sections that should be rewritten, rethought, or removed.

  • Is there a relevant and useful technology that isn’t mentioned and should be?

  • Test out mario on your own hardware/VM. Does it work for you as advertised?

  • Is this book, this code, these ideas something you actually, personally want/read/use?

  • Is this something you’d recommend to others?

  • What would you expect to pay for a print copy?

  • What would you expect to pay for a digital copy?

  • Any feedback on the book website and this readme?

🏷️ Tags

Git tags are used on notable commits. The most recent tag name is baked into formatted book outputs at build time. Hint: try git log --simplify-by-decoration.

The most meaningful tags appear in ChangeLog. Here are explanations for a few others:

print-NNN

Published print books are built from these tags. paperback-NNN, lulu-NNN, and amazon-NNN are deprecated.

ebook-NNN

Published ebooks are built from these tags. gumroad-NNN is deprecated.

start-tech-review

Commit: 2ac2b035. This tag commemorates when Lenny and I started formal tech review.