61 lines
1.6 KiB
Markdown
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.
|