Omnivore is a complete, open source read-it-later solution for people who like reading. https://omnivore.app/
Find a file
Thomas Rogers 89e78b377d fix(): Add network timeout to all yarn installs
Bump image-size from 1.2.0 to 1.2.1 (#4567)

Bumps [image-size](https://github.com/image-size/image-size) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/image-size/image-size/releases)
- [Commits](https://github.com/image-size/image-size/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: image-size
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

fix(): Add network timeout to all yarn installs

fix(): remove node-buffer

Bump brace-expansion from 1.1.11 to 1.1.12 in /pkg/admin (#4593)

Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump @babel/runtime-corejs3 from 7.26.0 to 7.28.2 (#4592)

Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.26.0 to 7.28.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.2/packages/babel-runtime-corejs3)

---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
  dependency-version: 7.28.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump next from 13.5.8 to 14.2.30 (#4591)

Bumps [next](https://github.com/vercel/next.js) from 13.5.8 to 14.2.30.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v13.5.8...v14.2.30)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 14.2.30
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump axios from 0.27.2 to 0.30.0 (#4590)

Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 0.30.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.30.0/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v0.30.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 0.30.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump @babel/runtime from 7.14.6 to 7.28.2 in /pkg/admin (#4589)

Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.14.6 to 7.28.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.2/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.28.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump @radix-ui/react-separator from 0.1.4 to 1.1.6 (#4579)

Bumps [@radix-ui/react-separator](https://github.com/radix-ui/primitives) from 0.1.4 to 1.1.6.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-separator"
  dependency-version: 1.1.6
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump http-proxy-middleware from 2.0.7 to 2.0.9 (#4574)

Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.7 to 2.0.9.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.9/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.9)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-version: 2.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump @babel/helpers from 7.14.6 to 7.28.2 in /pkg/admin (#4594)

Bumps [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) from 7.14.6 to 7.28.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.2/packages/babel-helpers)

---
updated-dependencies:
- dependency-name: "@babel/helpers"
  dependency-version: 7.28.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump pg and @types/pg (#4547)

Bumps [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) and [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg). These dependencies needed to be updated together.

Updates `pg` from 8.13.1 to 8.13.3
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.13.3/packages/pg)

Updates `@types/pg` from 8.11.10 to 8.11.11
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/pg"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump @graphql-tools/utils from 9.2.1 to 10.8.6 (#4560)

Bumps [@graphql-tools/utils](https://github.com/ardatan/graphql-tools/tree/HEAD/packages/utils) from 9.2.1 to 10.8.6.
- [Release notes](https://github.com/ardatan/graphql-tools/releases)
- [Changelog](https://github.com/ardatan/graphql-tools/blob/master/packages/utils/CHANGELOG.md)
- [Commits](https://github.com/ardatan/graphql-tools/commits/@graphql-tools/utils@10.8.6/packages/utils)

---
updated-dependencies:
- dependency-name: "@graphql-tools/utils"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

chore(): update versions

chore(): remove unused workload

fix(): kbar dependency

fix(): kbar dependency

chore(): fix packages

fix(): dependencies

fix(): dependencies

fix(): dependencies

fix(): dependencies api

fix(): dependencies api

fix(): dependencies api

chore(): fix order of github

fix(): fix tsconfig for liqe
2025-07-29 19:01:37 +02:00
.github fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
android/Omnivore Improving Self-Hosting and Removing 3rd Party dependencies. (#4513) 2025-01-27 13:33:16 +01:00
apple Fix: incorrect group name when reading custom environment (#4541) 2025-02-15 15:26:45 +00:00
docs/guides Initial prototype of the V3 manifest extension (#4357) 2025-02-23 16:35:41 +01:00
imageproxy Improving Self-Hosting and Removing 3rd Party dependencies. (#4513) 2025-01-27 13:33:16 +01:00
ml/digest-score Fix python indentation 2024-07-05 18:11:38 +08:00
packages fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
pkg fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
self-hosting fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
.dockerignore Add more stuff to dockerignore 2023-04-26 23:17:46 +08:00
.editorconfig Add the root directory dot files 2022-02-11 09:56:51 -08:00
.eslintignore Add the root directory dot files 2022-02-11 09:56:51 -08:00
.eslintrc Improving Self-Hosting and Removing 3rd Party dependencies. (#4513) 2025-01-27 13:33:16 +01:00
.gitignore Landing page improvements and various supporting improvements 2023-10-24 09:43:39 +01:00
.node-version Improving Self-Hosting and Removing 3rd Party dependencies. (#4513) 2025-01-27 13:33:16 +01:00
.prettierrc Remove typescript and eslint changes 2024-03-12 11:01:44 +08:00
.vercelignore Update vercel ignore to ignore some of our new services 2022-08-12 14:32:39 +08:00
codegen.yml Open source omnivore 2022-02-11 09:24:33 -08:00
docker-compose-test.yml update docker-compose-test 2023-11-08 18:02:40 +08:00
docker-compose.yml add missing redis env var to docker-compose file 2024-07-19 15:24:22 +08:00
lerna.json Update lerna config 2023-10-24 09:43:39 +01:00
LICENSE Initial commit 2022-02-10 23:57:14 -08:00
Makefile upgrade puppeteer-core to prevent ProtocolTimeout and adding more debug logs 2024-05-13 14:28:26 +08:00
package.json fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
README.md Update README.md 2025-02-12 12:24:23 +01:00
SECURITY.md Create SECURITY.md 2023-06-16 17:43:40 +08:00
tsconfig.json fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00
vercel.json Longer max age on cache control header for fonts 2022-04-27 10:59:50 -07:00
yarn.lock fix(): Add network timeout to all yarn installs 2025-07-29 19:01:37 +02:00

Omnivore

GitHub Workflow Status Discord Mastodon Follow Twitter Follow GitHub

Omnivore Logo

Omnivore is a complete, open source read-it-later solution for people who like text.

We built Omnivore because we love reading and we want it to be more social. Join us!

Every single part is fully open source! Fork it, extend it, or deploy it to your own server.

A guide for running a self hosted server can be found here

web-screenshot-listview

Join us on Discord! 💬

We're building our community on Discord. Join us!

Read more about Omnivore on our blog. https://blog.omnivore.app/p/getting-started-with-omnivore

Shoutouts 🎉

Omnivore takes advantage of some great open source software:

  • TypeScript - Most of our backend and frontend are written in TypeScript.
  • Next.js - Our frontend is a Next.JS app and is hosted on Vercel.
  • SWR - We do all our data fetching on the web using SWR.
  • Stitches - We use Stitches on the frontend to style our components.
  • Mozilla Readability - We use Mozilla's Readability library to make pages easier to read.
  • Swift GraphQL - We generate our GraphQL queries on iOS using Swift GraphQL.
  • Apollo GraphQL - We generate our GraphQL queries on Android using Apollo GraphQL.
  • Radix - We use Radix UI's components on our frontend.
  • PDF.js - PDF.js is used to have open source pdf functionality.
  • And many more awesome libraries, just checkout our package files to see what we are using.

Importing Libraries

Check out our docs for information on importing your data from other apps.

How to setup local development 💻

The easiest way to get started with local development is to use docker compose up. This will start a postgres container, our web frontend, an API server, and our content fetching microservice.

Requirements for development

Omnivore is written in TypeScript and JavaScript.

Running the web and API services

1. Start docker compose

git clone https://github.com/omnivore-app/omnivore
cd omnivore
docker compose up

This will start postgres, initialize the database, and start the web and api services.

2. Open the browser

Open http://localhost:3000 and confirm Omnivore is running

3. Login with the test account

During database setup docker compose creates an account demo@omnivore.app, password: demo_password.

Go to http://localhost:3000/ in your browser and choose Continue with Email to login.

Frontend Development

If you want to work on just the frontend of Omnivore you can run the backend services with docker compose and the frontend locally:

docker compose up api content-fetch
cd packages/web
cp .env.template .env.local
yarn dev

You will need to configure some values in the new .env.local file. These are the values for running the web service directly on your host machine and running api and content-fetch within docker:

NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_HIGHLIGHTS_BASE_URL=http://localhost:3000
NEXT_PUBLIC_LOCAL_BASE_URL=http://localhost:3000
NEXT_PUBLIC_SERVER_BASE_URL=http://localhost:4000
NEXT_PUBLIC_LOCAL_SERVER_BASE_URL=http://localhost:4000

Running the puppeteer-parse service outside of Docker

To save pages you need to run the puppeteer-parse service.

1. Install and configure Chromium

brew install chromium --no-quarantine
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
export CHROMIUM_PATH=`which chromium`

2. Navigate to the service directory, setup your env file, and install dependencies

cd packages/puppeteer-parse
cp .env.example .env
yarn

3. Start the service

yarn start

This will start the puppeteer-parse service on port 9090.

In your browser go to http://localhost:3000/home, click the Add Link button, and enter a URL such as https://blog.omnivore.app/p/getting-started-with-omnivore.

You should see a Chromium window open and navigate to your link. When the service is done fetching your content you will see it in your library.

How to deploy to your own server

A guide for running a self hosted server can be found here

License

Omnivore and our extensions to Readability.js are under the AGPL-3.0 license.