2.8 KiB
2.8 KiB
Installing Open Notebook
📦 Installing from Source
Quickly get started by cloning and installing the dependencies.
git clone https://github.com/lfnovo/open_notebook.git
cd open_notebook
poetry install
Make a copy of example.env and rename it to .env.
You need to enter at least your OPENAI_API_KEY and the Surreal DB connection details.
OPENAI_API_KEY=
# CONNECTION DETAILS FOR YOUR SURREAL DB
SURREAL_ADDRESS="ws://localhost:8000/rpc"
SURREAL_USER="root"
SURREAL_PASS="root"
SURREAL_NAMESPACE="open_notebook"
SURREAL_DATABASE="staging"
Then, run it by using:
poetry run streamlit run app_home.py
or the shourcut
make run
🐳 Docker Setup
Alternatively, you can use Docker for easy setup.
Copy the .env.example file and name it docker.env
docker run -d \
--name open_notebook \
-p 8080:8502 \
-v $(pwd)/docker.env:/app/.env \
lfnovo/open_notebook:latest
You can pass the environment variables manually if you want:
docker run -d \
--name open_notebook \
-p 8080:8502 \
-e OPENAI_API_KEY=API_KEY \
-e DEFAULT_MODEL="gpt-4o-mini" \
-e SURREAL_ADDRESS="ws://localhost:8000/rpc" \
-e SURREAL_USER="root" \
-e SURREAL_PASS="root" \
-e SURREAL_NAMESPACE="open_notebook" \
-e SURREAL_DATABASE="staging" \
lfnovo/open_notebook:latest
If you need to run Surreal DB on docker as well, it's easier to just use docker-compose, like this:
services:
surrealdb:
image: surrealdb/surrealdb:v2
ports:
- "8000:8000"
volumes:
- ./surreal-data:/mydata
user: "${UID}:${GID}"
command: start --log trace --user root --pass root rocksdb:mydatabase.db
pull_policy: always
open_notebook:
image: lfnovo/open_notebook:latest
ports:
- "8080:8502"
volumes:
- ./docker.env:/app/.env
depends_on:
- surrealdb
pull_policy: always
or with the environment variables:
services:
surrealdb:
image: surrealdb/surrealdb:v2
ports:
- "8000:8000"
volumes:
- ./surreal-data:/mydata
user: "${UID}:${GID}"
command: start --log trace --user root --pass root rocksdb:mydatabase.db
pull_policy: always
open_notebook:
image: lfnovo/open_notebook:latest
ports:
- "8080:8502"
environment:
- OPENAI_API_KEY=API_KEY
- DEFAULT_MODEL=gpt-4o-mini
- SURREAL_ADDRESS=ws://surrealdb:8000/rpc
- SURREAL_USER=root
- SURREAL_PASS=root
- SURREAL_NAMESPACE=open_notebook
- SURREAL_DATABASE=staging
depends_on:
- surrealdb
pull_policy: always
Running the app
After the app is running, you can access it at http://localhost:8080.
The first time you connect, it will check for the database and see if the schema is ready. If not, it will create the database for you.