Skip to content

Instantly share code, notes, and snippets.

View mfts's full-sized avatar
🎯
Focusing on open source

Marc Seitz mfts

🎯
Focusing on open source
View GitHub Profile
@mfts
mfts / tea-commands.md
Last active December 22, 2022 13:10
tea commands

Helpful commands for tea/cli

Install tea/cli

sh <(curl https://tea.xyz)

Check currently installed stowed packages

ls ~/.tea
@mfts
mfts / tea-packaging.md
Last active December 26, 2022 16:14
Packaging docs for tea

tea

tea pantry overview

What is a Pantry?

Pantries provide consistent metadata about open source packages. This metadata shouldn’t require manual collection, but at this current state in open source it does.

It is collected and duplicated thousands of times. A huge waste of effort.

@mfts
mfts / automate-letsencrypt-heroku
Last active December 28, 2022 11:33
Automate Lets Encrypt certificate generation for Heroku via Server
apt update
# install acme.sh
curl https://get.acme.sh | sh
# install heroku-cli
apt install snapd
sudo snap install --classic heroku
heroku login --interactive
@mfts
mfts / happy-new-year.ts
Created December 31, 2022 18:16
Happy New Year 2023
console.log("%cHappy New Year from @mfts0 🎉", "color: red");
@mfts
mfts / tea-rfc1.md
Last active February 20, 2023 12:50
RFC: Dependency Manager Install Location

Motivation

One of the core benefits of tea: it's relocatable. tea does not pollute your system environment, everything gets "installed" in a relocatable folder ~/.tea.

tea can also install languages like node and ruby and it's dependency managers, npm and gem, respectively. However, these language dependency managers install packages to global directories like ~/.npm and ~/.gem. Tools from these ecosystems expect to find packages in these locations.

In this RFC, we would love to hear feedback from the community.

@mfts
mfts / letsencrypt.sh
Created January 29, 2020 18:19
Create Letsencrypt wildcard certificate
brew install certbot
# change <my.domain> to preferred domain
certbot certonly --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --manual-public-ip-logging-ok -d '*.<my.domain>' -d <my.domain>
# add certificates to heroku
heroku certs:add -a eduqai-prod /etc/letsencrypt/live/<my.domain>/fullchain.pem /etc/letsencrypt/live/<my.domain>/privkey.pem
# may need to run with sudo
@mfts
mfts / cert.sh
Created June 3, 2020 08:58
Let's Encrypt for Wildcard Domains with Heroku and Cloudflare
#!/bin/sh
set -e
# NEEDS THE FOLLOWING VARS IN ENV:
# DOMAIN
# CLOUDFLARE_EMAIL
# CLOUDFLARE_API_KEY
# HEROKU_APP
# Download dependencies
@mfts
mfts / app.json
Last active April 4, 2024 13:38
Setup Heroku Review App with Cloudflare DNS
{
"environments": {
"review": {
"scripts": {
"postdeploy": "bundle exec rake heroku:review_app_setup",
"pr-predestroy": "bundle exec rake heroku:review_app_predestroy"
}
}
}
}