Skip to content

NatoBoram/Leanish

Repository files navigation

Leanish

Android CI Docker CI Node.js CI GitHub Pages Docker Pulls GitHub Downloads NPM Downloads Play Store Downloads Lemmy

A lean-ish web client for Lemmy.

screenshot

Usage

Leanish is currently in alpha. The roadmap to beta is in the Beta milestone.

There is a client-side rendered deployment at natoboram.github.io/Leanish. It can be installed as a Progressive Web App.

Android builds are available in the Releases tab. For a more cutting-edge experience, CI builds are available in the Actions tab.

Deploy

A docker image and a npm package are available for deployment.

docker pull natoboram/leanish
docker run -p 3000:3000 natoboram/leanish
pnpm install -g @natoboram/leanish
leanish

Build from source

Docker

git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
BUILD_BASE= pnpm run docker:build
pnpm run docker:run

Web

git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
pnpm install
BUILD_ADAPTER=node pnpm run build
node ./build/index.js

This gives you access to a local server at http://localhost:3000 that you can access from your mobile device.

Android

You need a signing key to make a release build. You can generate it with keytool:

keytool -alias key -genkey -keyalg RSA -keysize 7680 -keystore keystore.pkcs12 -v -validity 36525

Move the keystore somewhere safe and create a file android/key.properties with the following content:

keyAlias=key
keyPassword=
storeFile=keystore.pkcs12
storePassword=

Don't forget to put the full path and actual passwords in the file. You can find more information about signing keys in https://docs.flutter.dev/deployment/android#signing-the-app.

To make a release build:

(yes || true) | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --install "build-tools;33.0.2" "platforms;android-33"
git clone https://github.com/NatoBoram/Leanish.git
cd Leanish
pnpm install
pnpm run build:apk
pnpm run install:apk

This will create a release build at android/app/build/outputs/apk/release/app-release.apk and install it on your phone.

Signatures

Files in the Releases tab are signed with a SSH key. You can verify the files' signature with the following commands:

ssh-keygen -Y verify -f ./.github/authorized_keys -I '41898282+github-actions[bot]@users.noreply.github.com' -n file -s app-release.apk.sig < app-release.apk
ssh-keygen -Y verify -f ./.github/authorized_keys -I '41898282+github-actions[bot]@users.noreply.github.com' -n file -s natoboram-leanish-*.tgz.sig < natoboram-leanish-*.tgz

These signatures are only there to indicate that the files were built by GitHub Actions.

Legal

Google Play and the Google Play logo are trademarks of Google LLC.