diff options
Diffstat (limited to 'docs')
19 files changed, 46 insertions, 18 deletions
diff --git a/docs/docs/01-intro.md b/docs/docs/01-intro.md index 7418bbb6..4aae4b79 100644 --- a/docs/docs/01-intro.md +++ b/docs/docs/01-intro.md @@ -17,7 +17,7 @@ Hoarder is an open source "Bookmark Everything" app that uses AI for automatical - 🔎 Full text search of all the content stored. - ✨ AI-based (aka chatgpt) automatic tagging. - 🔖 [Chrome plugin](https://chromewebstore.google.com/detail/hoarder/kgcjekpmcjjogibpjebkhaanilehneje) for quick bookmarking. -- 📱 [iOS shortcut](https://www.icloud.com/shortcuts/78734b46624c4a3297187c85eb50d800) for bookmarking content from the phone. A minimal mobile app is in the works. +- 📱 An iOS app that's pending apple's review. - 💾 Self-hosting first. - [Planned] Archiving the content for offline reading. diff --git a/docs/docs/02-installation.md b/docs/docs/02-installation.md index 1ee01d79..0a25c7bf 100644 --- a/docs/docs/02-installation.md +++ b/docs/docs/02-installation.md @@ -16,37 +16,30 @@ Create a new directory to host the compose file and env variables. Download the docker compose file provided [here](https://github.com/MohamedBassem/hoarder-app/blob/main/docker/docker-compose.yml). ``` -$ wget https://raw.githubusercontent.com/MohamedBassem/hoarder-app/main/docker/docker-compose.yml +wget https://raw.githubusercontent.com/MohamedBassem/hoarder-app/main/docker/docker-compose.yml ``` ### 3. Populate the environment variables -You can use the env file template provided [here](https://github.com/MohamedBassem/hoarder-app/blob/main/.env.sample) and fill it manually using the documentation [here](/configuration). - -``` -$ wget https://raw.githubusercontent.com/MohamedBassem/hoarder-app/main/.env.sample -$ mv .env.sample .env -``` - -Alternatively, here is a minimal `.env` file to use: +To configure the app, create a `.env` file in the directory and add this minimal env file: ``` NEXTAUTH_SECRET=super_random_string -NEXTAUTH_URL=<YOUR DEPLOYED URL> - HOARDER_VERSION=release - -MEILI_ADDR=http://meilisearch:7700 MEILI_MASTER_KEY=another_random_string ``` -You can use `openssl rand -base64 36` to generate the random strings. +You **should** change the random strings. You can use `openssl rand -base64 36` to generate the random strings. Persistent storage and the wiring between the different services is already taken care of in the docker compose file. +Keep in mind that every time you change the `.env` file, you'll need to re-run `docker compose up`. + +If you want more config params, check the config documentation [here](/configuration). + ### 4. Setup OpenAI -To enable automatic tagging, you'll need to configure open ai. This is optional though but hightly recommended. +To enable automatic tagging, you'll need to configure OpenAI. This is optional though but hightly recommended. - Follow [OpenAI's help](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) to get an API key. - Add `OPENAI_API_KEY=<key>` to the env file. @@ -60,5 +53,5 @@ Learn more about the costs of using openai [here](/openai). Start the service by running: ``` -$ docker compose up -d +docker compose up -d ``` diff --git a/docs/docs/03-configuration.md b/docs/docs/03-configuration.md index a9c02611..585d25b5 100644 --- a/docs/docs/03-configuration.md +++ b/docs/docs/03-configuration.md @@ -6,7 +6,6 @@ The app is mainly configured by environment variables. All the used environment | ---------------- | ------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------- | | DATA_DIR | Yes | Not set | The path for the persistent data directory. This is where the db and the uploaded assets live. | | NEXTAUTH_SECRET | Yes | Not set | Random string used to sign the JWT tokens. Generate one with `openssl rand -base64 36`. | -| NEXTAUTH_URL | Yes | Not set | The url on which the service will be running on. E.g. (`https://demo.hoarder.app`). | | REDIS_HOST | Yes | localhost | The address of redis used by background jobs | | REDIS_POST | Yes | 6379 | The port of redis used by background jobs | | OPENAI_API_KEY | No | Not set | The OpenAI key used for automatic tagging. If not set, automatic tagging won't be enabled. More on that in [here](/openai). | diff --git a/docs/docs/04-screenshots.md b/docs/docs/04-screenshots.md new file mode 100644 index 00000000..03137367 --- /dev/null +++ b/docs/docs/04-screenshots.md @@ -0,0 +1,26 @@ +# Screenshots + +## Homepage + + + +## Tags + + + +## Lists + + + +## Settings + + + +## Admin Panel + + + + +## iOS Sharing + +<img src="/img/screenshots/share-sheet.png" width="400px" /> diff --git a/docs/docs/04-quick-sharing.md b/docs/docs/05-quick-sharing.md index 05ff5448..05ff5448 100644 --- a/docs/docs/04-quick-sharing.md +++ b/docs/docs/05-quick-sharing.md diff --git a/docs/docs/05-openai.md b/docs/docs/06-openai.md index 91e37c07..91e37c07 100644 --- a/docs/docs/05-openai.md +++ b/docs/docs/06-openai.md diff --git a/docs/docs/06-Development/01-setup.md b/docs/docs/07-Development/01-setup.md index 775a5806..775a5806 100644 --- a/docs/docs/06-Development/01-setup.md +++ b/docs/docs/07-Development/01-setup.md diff --git a/docs/docs/06-Development/02-directories.md b/docs/docs/07-Development/02-directories.md index 54552402..54552402 100644 --- a/docs/docs/06-Development/02-directories.md +++ b/docs/docs/07-Development/02-directories.md diff --git a/docs/docs/06-Development/03-database.md b/docs/docs/07-Development/03-database.md index 40e2d164..40e2d164 100644 --- a/docs/docs/06-Development/03-database.md +++ b/docs/docs/07-Development/03-database.md diff --git a/docs/docs/07-Development/04-architecture.md b/docs/docs/07-Development/04-architecture.md new file mode 100644 index 00000000..df69376a --- /dev/null +++ b/docs/docs/07-Development/04-architecture.md @@ -0,0 +1,10 @@ +# Architecture + + + +- Webapp: NextJS based using sqlite for data storage. +- Redis: Used with BullMQ for scheduling background jobs for the workers. +- Workers: Consume the jobs from redis 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. diff --git a/docs/docs/07-security-considerations.md b/docs/docs/08-security-considerations.md index 7cab2e07..7cab2e07 100644 --- a/docs/docs/07-security-considerations.md +++ b/docs/docs/08-security-considerations.md diff --git a/docs/static/img/architecture/arch.png b/docs/static/img/architecture/arch.png Binary files differnew file mode 100644 index 00000000..7583970e --- /dev/null +++ b/docs/static/img/architecture/arch.png diff --git a/docs/static/img/screenshots/admin.png b/docs/static/img/screenshots/admin.png Binary files differnew file mode 100644 index 00000000..cbc0cd86 --- /dev/null +++ b/docs/static/img/screenshots/admin.png diff --git a/docs/static/img/screenshots/all-lists.png b/docs/static/img/screenshots/all-lists.png Binary files differnew file mode 100644 index 00000000..befecb4b --- /dev/null +++ b/docs/static/img/screenshots/all-lists.png diff --git a/docs/static/img/screenshots/all-tags.png b/docs/static/img/screenshots/all-tags.png Binary files differnew file mode 100644 index 00000000..669ba5a4 --- /dev/null +++ b/docs/static/img/screenshots/all-tags.png diff --git a/docs/static/img/screenshots/bookmark-preview.png b/docs/static/img/screenshots/bookmark-preview.png Binary files differnew file mode 100644 index 00000000..200c598a --- /dev/null +++ b/docs/static/img/screenshots/bookmark-preview.png diff --git a/docs/static/img/screenshots/homepage.png b/docs/static/img/screenshots/homepage.png Binary files differnew file mode 100644 index 00000000..d4403659 --- /dev/null +++ b/docs/static/img/screenshots/homepage.png diff --git a/docs/static/img/screenshots/settings.png b/docs/static/img/screenshots/settings.png Binary files differnew file mode 100644 index 00000000..ed59ae33 --- /dev/null +++ b/docs/static/img/screenshots/settings.png diff --git a/docs/static/img/screenshots/share-sheet.png b/docs/static/img/screenshots/share-sheet.png Binary files differnew file mode 100644 index 00000000..538b9540 --- /dev/null +++ b/docs/static/img/screenshots/share-sheet.png |
