mirror of
https://github.com/open-webui/docs
synced 2025-05-20 19:26:22 +00:00
Dev for pipelines
This commit is contained in:
parent
a7b2b0e5cb
commit
253ad1bbe5
130
docs/tutorial-development/index.mdx
Normal file
130
docs/tutorial-development/index.mdx
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 500
|
||||||
|
title: "️🔨 Development"
|
||||||
|
---
|
||||||
|
|
||||||
|
import { TopBanners } from "@site/src/components/TopBanners";
|
||||||
|
|
||||||
|
# ️🔨 Deployment
|
||||||
|
|
||||||
|
<TopBanners />
|
||||||
|
|
||||||
|
# Development
|
||||||
|
|
||||||
|
## Using [devcontainers](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)
|
||||||
|
Coming soon.
|
||||||
|
|
||||||
|
## On host
|
||||||
|
Run the following commands to install:
|
||||||
|
|
||||||
|
For Linux/macOS:
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/open-webui/open-webui.git
|
||||||
|
cd open-webui/
|
||||||
|
|
||||||
|
# Copying required .env file
|
||||||
|
cp -RPp .env.example .env
|
||||||
|
|
||||||
|
# Start frontend server
|
||||||
|
npm install
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
cd ./backend
|
||||||
|
|
||||||
|
# Optional: To install using Conda as your development environment, follow these instructions:
|
||||||
|
# Create and activate a Conda environment
|
||||||
|
conda create --name open-webui-env python=3.11
|
||||||
|
conda activate open-webui-env
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
pip install -r requirements.txt -U
|
||||||
|
|
||||||
|
# Start the application
|
||||||
|
bash dev.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## In docker container
|
||||||
|
Assuming you have already cloned the repo and created a `.env`.
|
||||||
|
|
||||||
|
1. Create a new file `compose-dev.yaml`. The following uses [Docker compose watch](https://docs.docker.com/compose/file-watch/) to automatically detect changes in the host filesystem and sync them to the container.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: open-webui-dev
|
||||||
|
|
||||||
|
services:
|
||||||
|
ollama:
|
||||||
|
volumes:
|
||||||
|
- ollama:/root/.ollama
|
||||||
|
container_name: ollama
|
||||||
|
pull_policy: always
|
||||||
|
tty: true
|
||||||
|
restart: always
|
||||||
|
image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest}
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
target: build
|
||||||
|
command: ["npm", "run", "dev"]
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
extra_hosts:
|
||||||
|
- host.docker.internal:host-gateway
|
||||||
|
ports:
|
||||||
|
- "3000:5173"
|
||||||
|
develop:
|
||||||
|
watch:
|
||||||
|
- action: sync
|
||||||
|
path: ./src
|
||||||
|
target: /app/src
|
||||||
|
- action: rebuild
|
||||||
|
path: package.json
|
||||||
|
|
||||||
|
backend:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
target: base
|
||||||
|
command: ["bash", "dev.sh"]
|
||||||
|
env_file: ".env"
|
||||||
|
volumes:
|
||||||
|
- data:/app/backend/data
|
||||||
|
extra_hosts:
|
||||||
|
- host.docker.internal:host-gateway
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
restart: always
|
||||||
|
develop:
|
||||||
|
watch:
|
||||||
|
- action: sync
|
||||||
|
path: ./backend
|
||||||
|
target: /app/backend
|
||||||
|
ignore:
|
||||||
|
- backend/data
|
||||||
|
- action: rebuild
|
||||||
|
path: backend/requirements.txt
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data: {}
|
||||||
|
```
|
||||||
|
2. To start the containers, run `docker compose -f compose-dev.yaml up --watch`.
|
||||||
|
3. To stop, hit `ctrl-c` or run `docker compose -f compose-dev.yaml down
|
||||||
|
|
||||||
|
### Pipelines
|
||||||
|
If you are using [pipelines](https://docs.openwebui.com/pipelines/), you can add the following:
|
||||||
|
|
||||||
|
:::info
|
||||||
|
This uses volume bind-mounts, which are distinct from named volumes. You can read more about the difference [here](https://docs.docker.com/storage/bind-mounts/)
|
||||||
|
:::
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
pipelines:
|
||||||
|
ports:
|
||||||
|
- "9099:9099"
|
||||||
|
volumes:
|
||||||
|
- ./pipelines:/app/pipelines
|
||||||
|
- ./blueprints:/app/blueprints
|
||||||
|
extra_hosts:
|
||||||
|
- "host.docker.internal:host-gateway"
|
||||||
|
restart: always
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user