知识管理和协作平台

Tienson Qin b5e3f7de6e refactor: simplify git state 5 years ago
resources c2848b1b29 Merge branch 'master' into fix-IOS-bottom-fixed-position 5 years ago
src b5e3f7de6e refactor: simplify git state 5 years ago
.gitignore df1043be0a feat(dev): update build process 5 years ago
.projectile d73e405b9e Add contents 5 years ago
CODE_OF_CONDUCT.md a7616ca3d2 docs: add Code of Conduct 5 years ago
LICENSE.md a72ca41c95 fix(license): add exceptions for epl libraries 5 years ago
clojure.bat d17b12fddf Update windows setup 5 years ago
deps.edn 9fda0a4c03 feat: add cljs.spec.alpha 5 years ago
externs.js 2d1fa33204 refactor: remove web 5 years ago
gulpfile.js 2ee5d0a5f0 feat(dev): using same style path at production 5 years ago
package.json 07ec5b50ea chore: add release-publishing command 5 years ago
postcss.config.js 5e271ba454 fix(dev): unexpected purgecss result 5 years ago
readme.org 83c62b1825 chore: add missing environment variables to readme 5 years ago
shadow-cljs.edn df1043be0a feat(dev): update build process 5 years ago
start-windows.bat d17b12fddf Update windows setup 5 years ago
tailwind.config.js 5e271ba454 fix(dev): unexpected purgecss result 5 years ago
tailwind.css 22887860df feat(dev): better support for processing tailwind css 5 years ago
yarn.lock 91801aa216 feat(dev): update npm build scripts 5 years ago

readme.org

Logseq

A privacy-first, open-source platform for knowledge sharing and management.

Set up development environment

If you are on Windows, use the Windows setup.

2. Create a GitHub app:

Follow the guide at https://docs.github.com/en/free-pro-team@latest/developers/apps/creating-a-github-app, where the user authorization "Callback URL" should be http://localhost:3000/auth/github.

Remember to download the private-key.pem which will be used for the next step.

3. Set up PostgreSQL

Make sure you have PostgreSQL running. You can check if it's running with pg_ctl -D /usr/local/var/postgres status and use pg_ctl -D /usr/local/var/postgres start to start it up. You'll also need to make a Logseq DB in PostgreSQL. Do that with createdb logseq.

4. Add environment variables

  export ENVIRONMENT="dev"
  export JWT_SECRET="4fa183cf1d28460498b13330835e80ab"
  export COOKIE_SECRET="10a42ca724e34f4db6086a772d787030"
  export DATABASE_URL="postgres://localhost:5432/logseq"
  export GITHUB_APP2_ID="78728"
  export GITHUB_APP2_KEY="xxxxxxxxxxxxxxxxxxxx"
  export GITHUB_APP2_SECRET="xxxxxxxxxxxxxxxxxxxx"
  # Replace your-code-directory and your-app.private-key.pem with yours
  export GITHUB_APP_PEM="/your-code-directory/your-app.private-key.pem"
  export LOG_PATH="/tmp/logseq"
  export PG_USERNAME="xxx"
  export PG_PASSWORD="xxx"

5. Compile to JavaScript

  cd web
  yarn
  yarn watch

6. Start the Clojure server

  1. Download jar Go to https://github.com/logseq/logseq-internal/releases, download the logseq.jar and move it to the resources directory.
  2. Run jar

      cd resources
      java -Duser.timezone=UTC -jar logseq.jar
    

7. Open the browser

Windows setup

1. Required software

Install Clojure through scoop-clojure: https://github.com/littleli/scoop-clojure. You can also install Node.js, Yarn and PostgreSQL through scoop if you want to.

2. Create a GitHub app

Follow Step 2 above if you want Logseq to connect to GitHub. If not, skip this section. The GITHUB_APP_PEM variable in the run-windows.bat needs to be set with the correct directory for your system.

3. Set up PostgreSQL

Make sure you have PostgreSQL running. You can check if it's running with pg_ctl status and use pg_ctl start to start it up. You'll also need to make a Logseq DB in PostgreSQL. Do that with createdb logseq.

4. Download the Clojure server

Go to https://github.com/logseq/logseq-internal/releases, download the logseq.jar and move into the root directory of repo.

5. Start Logseq

Run start-windows.bat which is located in the repo. This will open a second terminal that runs Logseq's backend server. To completely stop Logseq, you'll need to also close that second terminal that was opened.

start-windows.bat will try to start PostgreSQL for you if it's not already started.