mirror of
https://github.com/Dokploy/templates.git
synced 2026-03-12 01:56:43 -05:00
Added Open Notebook (#253)
* Added Open Notebook * Remove duplicate GitLab CE entry from meta.json * FIX-Validating meta.json against blueprint folders and logos --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
b3348e6949
commit
a551e99b8c
27
blueprints/open_notebook/docker-compose.yml
Normal file
27
blueprints/open_notebook/docker-compose.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
surrealdb:
|
||||
image: surrealdb/surrealdb:v2
|
||||
ports:
|
||||
- 8000
|
||||
volumes:
|
||||
- ../files/surreal_data:/mydata
|
||||
command: start --user root --pass root rocksdb:/mydata/mydatabase.db
|
||||
pull_policy: always
|
||||
user: root
|
||||
|
||||
open_notebook:
|
||||
image: lfnovo/open_notebook:latest
|
||||
ports:
|
||||
- 8502
|
||||
environment:
|
||||
- SURREAL_URL=ws://surrealdb:8000/rpc
|
||||
- SURREAL_USER=root
|
||||
- SURREAL_PASSWORD=root
|
||||
- SURREAL_NAMESPACE=open_notebook
|
||||
- SURREAL_DATABASE=staging
|
||||
depends_on:
|
||||
- surrealdb
|
||||
pull_policy: always
|
||||
volumes:
|
||||
- ../files/notebook_data:/app/data
|
||||
60
blueprints/open_notebook/open_notebook.svg
Normal file
60
blueprints/open_notebook/open_notebook.svg
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="240" height="240" viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Gradient Definitions -->
|
||||
<defs>
|
||||
<linearGradient id="nodeGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#bd34fe;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#41d1ff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient id="lineGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#bd34fe;stop-opacity:0.3" />
|
||||
<stop offset="100%" style="stop-color:#41d1ff;stop-opacity:0.3" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Connection Lines -->
|
||||
<g class="connections">
|
||||
<path d="M120 80L80 120" stroke="url(#lineGradient)" stroke-width="2"/>
|
||||
<path d="M120 80L160 120" stroke="url(#lineGradient)" stroke-width="2"/>
|
||||
<path d="M80 120L120 160" stroke="url(#lineGradient)" stroke-width="2"/>
|
||||
<path d="M160 120L120 160" stroke="url(#lineGradient)" stroke-width="2"/>
|
||||
<path d="M80 120L160 120" stroke="url(#lineGradient)" stroke-width="2"/>
|
||||
</g>
|
||||
|
||||
<!-- Nodes -->
|
||||
<g class="nodes">
|
||||
<!-- Central Node -->
|
||||
<circle cx="120" cy="80" r="20" fill="url(#nodeGradient)"/>
|
||||
<circle cx="120" cy="80" r="24" stroke="url(#nodeGradient)" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Left Node -->
|
||||
<circle cx="80" cy="120" r="16" fill="url(#nodeGradient)"/>
|
||||
<circle cx="80" cy="120" r="20" stroke="url(#nodeGradient)" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Right Node -->
|
||||
<circle cx="160" cy="120" r="16" fill="url(#nodeGradient)"/>
|
||||
<circle cx="160" cy="120" r="20" stroke="url(#nodeGradient)" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Bottom Node -->
|
||||
<circle cx="120" cy="160" r="18" fill="url(#nodeGradient)"/>
|
||||
<circle cx="120" cy="160" r="22" stroke="url(#nodeGradient)" stroke-width="1" fill="none"/>
|
||||
</g>
|
||||
|
||||
<!-- Pulse Animation -->
|
||||
<style>
|
||||
@keyframes pulse {
|
||||
0% { transform: scale(1); opacity: 0.8; }
|
||||
50% { transform: scale(1.1); opacity: 1; }
|
||||
100% { transform: scale(1); opacity: 0.8; }
|
||||
}
|
||||
.nodes circle {
|
||||
animation: pulse 3s infinite ease-in-out;
|
||||
}
|
||||
.nodes circle:nth-child(2n) {
|
||||
animation-delay: 1s;
|
||||
}
|
||||
.nodes circle:nth-child(3n) {
|
||||
animation-delay: 2s;
|
||||
}
|
||||
</style>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
59
blueprints/open_notebook/template.toml
Normal file
59
blueprints/open_notebook/template.toml
Normal file
@@ -0,0 +1,59 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
surrealdb_port = "8000"
|
||||
open_notebook_port = "8502"
|
||||
|
||||
[config]
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "surrealdb"
|
||||
port = 8000
|
||||
host = "surrealdb-${main_domain}"
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "open_notebook"
|
||||
port = 8502
|
||||
host = "${main_domain}"
|
||||
|
||||
[config.env]
|
||||
SURREAL_URL = "ws://surrealdb:8000/rpc"
|
||||
SURREAL_USER = "root"
|
||||
SURREAL_PASSWORD = "root"
|
||||
SURREAL_NAMESPACE = "open_notebook"
|
||||
SURREAL_DATABASE = "staging"
|
||||
# OPEN_NOTEBOOK_PASSWORD = "" # Uncomment and set to protect Open Notebook with a password for public hosting
|
||||
# OPENAI_API_KEY = "" # API key for OpenAI integration
|
||||
# ANTHROPIC_API_KEY = "" # API key for Anthropic integration
|
||||
# GOOGLE_API_KEY = "" # API key for Google Gemini (best for long context and podcast generation)
|
||||
# VERTEX_PROJECT = "" # Google Cloud project name for Vertex AI
|
||||
# GOOGLE_APPLICATION_CREDENTIALS = "./google-credentials.json" # Path to Google credentials file
|
||||
# VERTEX_LOCATION = "us-east5" # Vertex AI location
|
||||
# MISTRAL_API_KEY = "" # API key for Mistral integration
|
||||
# DEEPSEEK_API_KEY = "" # API key for DeepSeek integration
|
||||
# OLLAMA_API_BASE = "http://10.20.30.20:11434" # Base URL for Ollama API
|
||||
# OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1" # Base URL for OpenRouter
|
||||
# OPENROUTER_API_KEY = "" # API key for OpenRouter
|
||||
# GROQ_API_KEY = "" # API key for Groq integration
|
||||
# XAI_API_KEY = "" # API key for xAI integration
|
||||
# ELEVENLABS_API_KEY = "" # API key for ElevenLabs (used for podcast feature)
|
||||
# VOYAGE_API_KEY = "" # API key for Voyage AI
|
||||
# OPENAI_COMPATIBLE_BASE_URL = "http://localhost:1234/v1" # Base URL for OpenAI-compatible endpoints
|
||||
# OPENAI_COMPATIBLE_API_KEY = "" # API key for OpenAI-compatible endpoints
|
||||
# AZURE_OPENAI_API_KEY = "" # API key for Azure OpenAI
|
||||
# AZURE_OPENAI_ENDPOINT = "" # Endpoint for Azure OpenAI
|
||||
# AZURE_OPENAI_API_VERSION = "2024-12-01-preview" # API version for Azure OpenAI
|
||||
# AZURE_OPENAI_DEPLOYMENT_NAME = "" # Deployment name for Azure OpenAI
|
||||
# LANGCHAIN_TRACING_V2 = "true" # Enable LangChain tracing for debugging
|
||||
# LANGCHAIN_ENDPOINT = "https://api.smith.langchain.com" # LangChain endpoint for debugging
|
||||
# LANGCHAIN_API_KEY = "" # API key for LangChain debugging
|
||||
# LANGCHAIN_PROJECT = "Open Notebook" # LangChain project name
|
||||
# FIRECRAWL_API_KEY = "" # API key for Firecrawl (obtain at https://firecrawl.dev/)
|
||||
# JINA_API_KEY = "" # API key for Jina (obtain at https://jina.ai/)
|
||||
|
||||
[[config.mounts]]
|
||||
filePath = "/files/surreal_data"
|
||||
content = ""
|
||||
|
||||
[[config.mounts]]
|
||||
filePath = "/files/notebook_data"
|
||||
content = ""
|
||||
13
meta.json
13
meta.json
@@ -3138,6 +3138,19 @@
|
||||
},
|
||||
"tags": ["analytics"]
|
||||
},
|
||||
{
|
||||
"id": "open_notebook",
|
||||
"name": "Open Notebook",
|
||||
"version": "latest",
|
||||
"description": "Open Notebook with SurrealDB for data storage and AI-powered features.",
|
||||
"logo": "open_notebook.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/lfnovo/open_notebook",
|
||||
"website": "https://www.open-notebook.ai/",
|
||||
"docs": "https://www.open-notebook.ai/get-started.html"
|
||||
},
|
||||
"tags": ["notebook", "ai", "database", "surrealdb"]
|
||||
},
|
||||
{
|
||||
"id": "booklore",
|
||||
"name": "Booklore",
|
||||
|
||||
Reference in New Issue
Block a user