diff options
| author | MohamedBassem <me@mbassem.com> | 2025-07-27 15:42:26 +0100 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2025-07-27 15:42:26 +0100 |
| commit | a34331b5b9fd4555385571436a2eca1d2974aff9 (patch) | |
| tree | 69304fab63d668bace069d73235c9286a03dd4b6 /docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md | |
| parent | 77ae89b22238429cbbbb7851ece2826c91d4e21f (diff) | |
| download | karakeep-a34331b5b9fd4555385571436a2eca1d2974aff9.tar.zst | |
docs: Drop docs older than 0.21
Diffstat (limited to 'docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md')
| -rw-r--r-- | docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md b/docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md deleted file mode 100644 index 94a2ce67..00000000 --- a/docs/versioned_docs/version-v0.15.0/07-Development/01-setup.md +++ /dev/null @@ -1,70 +0,0 @@ -# Setup - -## Manual Setup -### 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! - - `REDIS_HOST` and `REDIS_PORT` default to `localhost` and `6379` change them if redis is running on a different address. - - `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 - -#### Redis - -Redis is used as the background job queue. The easiest way to get it running is with docker `docker run -p 6379:6379 redis:alpine`. - -#### Meilisearch - -Meilisearch is the provider for the full text search. You can get it running with `docker run -p 7700:7700 getmeili/meilisearch:v1.6`. - -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 redis is running. - -### Workers - -- Run `pnpm workers` in the root of the repo. - -> NOTE: The workers package requires having redis working as it's the queue provider. - -### 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. |
