aboutsummaryrefslogtreecommitdiffstats
path: root/docs/versioned_docs/version-v0.23.2/07-Development
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-04-13 16:25:03 +0000
committerMohamed Bassem <me@mbassem.com>2025-04-13 16:25:03 +0000
commitf3c525b7f7dd360f654d8621bbf64e31ad5ff48e (patch)
treef9c8378e5c24caf1441f055d0d08b60f8b91a0ab /docs/versioned_docs/version-v0.23.2/07-Development
parentae76f9464f2f64018548f4ddfe7b94b92616c6dd (diff)
downloadkarakeep-f3c525b7f7dd360f654d8621bbf64e31ad5ff48e.tar.zst
docs: Revert 0.23.2 docs and just update 0.23.1 instead
Diffstat (limited to 'docs/versioned_docs/version-v0.23.2/07-Development')
-rw-r--r--docs/versioned_docs/version-v0.23.2/07-Development/01-setup.md122
-rw-r--r--docs/versioned_docs/version-v0.23.2/07-Development/02-directories.md28
-rw-r--r--docs/versioned_docs/version-v0.23.2/07-Development/03-database.md11
-rw-r--r--docs/versioned_docs/version-v0.23.2/07-Development/04-architecture.md9
4 files changed, 0 insertions, 170 deletions
diff --git a/docs/versioned_docs/version-v0.23.2/07-Development/01-setup.md b/docs/versioned_docs/version-v0.23.2/07-Development/01-setup.md
deleted file mode 100644
index 8e139999..00000000
--- a/docs/versioned_docs/version-v0.23.2/07-Development/01-setup.md
+++ /dev/null
@@ -1,122 +0,0 @@
-# Setup
-
-## Manual Setup
-
-Karakeep uses `node` version 22. To install it, you can use `nvm` [^1]
-
-```
-$ nvm install 22
-```
-
-Verify node version using this command:
-```
-$ node --version
-v22.14.0
-```
-
-Karakeep also makes use of `corepack`[^2]. If you have `node` installed, then `corepack` should already be
-installed on your machine, and you don't need to do anything. To verify the `corepack` is installed run:
-
-```
-$ command -v corepack
-/home/<user>/.nvm/versions/node/v22.14.0/bin/corepack
-```
-
-To enable `corepack` run the following command:
-
-```
-$ corepack enable
-```
-
-Then install the packages and dependencies using:
-
-```
-$ pnpm install
-```
-
-Output of a successful `pnpm install` run should look something like:
-
-```
-Scope: all 20 workspace projects
-Lockfile is up to date, resolution step is skipped
-Packages: +3129
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-Progress: resolved 0, reused 2699, downloaded 0, added 3129, done
-
-devDependencies:
-+ @karakeep/prettier-config 0.1.0 <- tooling/prettier
-
-. prepare$ husky
-└─ Done in 45ms
-Done in 5.5s
-```
-
-You can now continue with the rest of this documentation.
-
-### First Setup
-
-- You'll need to prepare the environment variables for the dev env.
-- Easiest would be to set it up once in the root of the repo and then symlink it in each app directory (e.g. `/apps/web`, `/apps/workers`) and also `/packages/db`.
-- Start by copying the template by `cp .env.sample .env`.
-- The most important env variables to set are:
- - `DATA_DIR`: Where the database and assets will be stored. This is the only required env variable. You can use an absolute path so that all apps point to the same dir.
- - `NEXTAUTH_SECRET`: Random string used to sign the JWT tokens. Generate one with `openssl rand -base64 36`. Logging in will not work if this is missing!
- - `MEILI_ADDR`: If not set, search will be disabled. You can set it to `http://127.0.0.1:7700` if you run meilisearch using the command below.
- - `OPENAI_API_KEY`: If you want to enable auto tag inference in the dev env.
-- run `pnpm run db:migrate` in the root of the repo to set up the database.
-
-### Dependencies
-
-#### Meilisearch
-
-Meilisearch is the provider for the full text search. You can get it running with `docker run -p 7700:7700 getmeili/meilisearch:v1.11.1`.
-
-Mount persistent volume if you want to keep index data across restarts. You can trigger a re-index for the entire items collection in the admin panel in the web app.
-
-#### Chrome
-
-The worker app will automatically start headless chrome on startup for crawling pages. You don't need to do anything there.
-
-### Web App
-
-- Run `pnpm web` in the root of the repo.
-- Go to `http://localhost:3000`.
-
-> NOTE: The web app kinda works without any dependencies. However, search won't work unless meilisearch is running. Also, new items added won't get crawled/indexed unless workers are running.
-
-### Workers
-
-- Run `pnpm workers` in the root of the repo.
-
-### iOS Mobile App
-
-- `cd apps/mobile`
-- `pnpm exec expo prebuild --no-install` to build the app.
-- Start the ios simulator.
-- `pnpm exec expo run:ios`
-- The app will be installed and started in the simulator.
-
-Changing the code will hot reload the app. However, installing new packages requires restarting the expo server.
-
-### Browser Extension
-
-- `cd apps/browser-extension`
-- `pnpm dev`
-- This will generate a `dist` package
-- Go to extension settings in chrome and enable developer mode.
-- Press `Load unpacked` and point it to the `dist` directory.
-- The plugin will pop up in the plugin list.
-
-In dev mode, opening and closing the plugin menu should reload the code.
-
-
-## Docker Dev Env
-
-If the manual setup is too much hassle for you. You can use a docker based dev environment by running `docker compose -f docker/docker-compose.dev.yml up` in the root of the repo. This setup wasn't super reliable for me though.
-
-
-[^1]: [nvm](https://github.com/nvm-sh/nvm) is a node version manager. You can install it following [these
-instructions](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating).
-
-[^2]: [corepack](https://nodejs.org/api/corepack.html) is an experimental tool to help with managing versions of your
-package managers.
diff --git a/docs/versioned_docs/version-v0.23.2/07-Development/02-directories.md b/docs/versioned_docs/version-v0.23.2/07-Development/02-directories.md
deleted file mode 100644
index 54552402..00000000
--- a/docs/versioned_docs/version-v0.23.2/07-Development/02-directories.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Directory Structure
-
-## Apps
-
-| Directory | Description |
-| ------------------------ | ------------------------------------------------------ |
-| `apps/web` | The main web app |
-| `apps/workers` | The background workers logic |
-| `apps/mobile` | The react native based mobile app |
-| `apps/browser-extension` | The browser extension |
-| `apps/landing` | The landing page of [hoarder.app](https://hoarder.app) |
-
-## Shared Packages
-
-| Directory | Description |
-| ----------------- | ---------------------------------------------------------------------------- |
-| `packages/db` | The database schema and migrations |
-| `packages/trpc` | Where most of the business logic lies built as TRPC routes |
-| `packages/shared` | Some shared code between the different apps (e.g. loggers, configs, assetdb) |
-
-## Toolings
-
-| Directory | Description |
-| -------------------- | ----------------------- |
-| `tooling/typescript` | The shared tsconfigs |
-| `tooling/eslint` | ESlint configs |
-| `tooling/prettier` | Prettier configs |
-| `tooling/tailwind` | Shared tailwind configs |
diff --git a/docs/versioned_docs/version-v0.23.2/07-Development/03-database.md b/docs/versioned_docs/version-v0.23.2/07-Development/03-database.md
deleted file mode 100644
index 40e2d164..00000000
--- a/docs/versioned_docs/version-v0.23.2/07-Development/03-database.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Database Migrations
-
-- The database schema lives in `packages/db/schema.ts`.
-- Changing the schema, requires a migration.
-- You can generate the migration by running `pnpm drizzle-kit generate:sqlite` in the `packages/db` dir.
-- You can then apply the migration by running `pnpm run migrate`.
-
-
-## Drizzle Studio
-
-You can start the drizzle studio by running `pnpm db:studio` in the root of the repo.
diff --git a/docs/versioned_docs/version-v0.23.2/07-Development/04-architecture.md b/docs/versioned_docs/version-v0.23.2/07-Development/04-architecture.md
deleted file mode 100644
index 5a864034..00000000
--- a/docs/versioned_docs/version-v0.23.2/07-Development/04-architecture.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Architecture
-
-![Architecture Diagram](/img/architecture/arch.png)
-
-- Webapp: NextJS based using sqlite for data storage.
-- Workers: Consume the jobs from sqlite based job queue and executes them, there are three job types:
- 1. Crawling: Fetches the content of links using a headless chrome browser running in the workers container.
- 2. OpenAI: Uses OpenAI APIs to infer the tags of the content.
- 3. Indexing: Indexes the content in meilisearch for faster retrieval during search.