micro_blog_repo_fetchers/README.md

61 lines
1.6 KiB
Markdown

# Micro Blog Fetchers
The Micro Blog Fetchers is an app I made to aggregate, backup, and make
my various social media posts available for my
[personal site](https://travisshears.com).
The app is comprised of a clojure app and a data layer that is my self-hosted [PocketBase](https://pocketbase.io/)
instance.
## Progress since switching to Clojure
- [x] BlueSky
- [ ] Pixelfed
- [x] Mastodon
- [x] Nostr
## Dev
Run the app locally:
```shell
$ clj -M -m micro-blog.main
```
or just run parts via repl:
```shell
$ clj
```
## Deployment
Repl:
```shell
$ clj
```
Build and run uber jar manually:
```shell
$ clj -T:build uber
$ java -jar ./target/micro-blog-standalone.jar
```
Build new docker image and push it to ECR
```shell
$ export AWS_PROFILE=personal
$ docker buildx build --platform linux/amd64,linux/arm64 -t 853019563312.dkr.ecr.eu-central-1.amazonaws.com/micro-blog-fetchers-homelabstack:latest --push .
```
## Project history
- June 2024: Initial commit
- July 2023: App is up and running logic is written in Typescript and deployed as AWS Lambda functions. My pocketbase instance is running on fly.io
- May 2025: With my homelab [Nomad](https://developer.hashicorp.com/nomad)
cluster running I'm switching most of my personal apps to on-prem. Pocketbase instance is already running on-prem.
For this app I swap Serverless for docker container. App now deployed on-prem and the docker containers run once per hour
thanks to Nomad's job scheduling.
- July 2025: Start rewrite in Clojure with a long running docker container deployment instead of scheduled runs.