switch from minio to seaweedfs
This commit is contained in:
@@ -10,7 +10,7 @@ and client compatibility.
|
||||
- `proto/` contains protobuf schemas and RPC definitions.
|
||||
- `gen/python` and `gen/go` contain generated protocol and Connect code.
|
||||
- `python/packages/officeconvert` is the core conversion library (PPTX -> PDF -> images + notes).
|
||||
- `python/packages/server` is the ConnectRPC Python server with MinIO orchestration.
|
||||
- `python/packages/server` is the ConnectRPC Python server with SeaweedFS (S3-compatible) orchestration.
|
||||
- `clients/go` is the first client library with layered orchestration helpers.
|
||||
- `deploy/` contains production-ish and dev Docker Compose files.
|
||||
|
||||
@@ -29,14 +29,14 @@ Use the root `Makefile`:
|
||||
- `make buf-generate` to regenerate Go and Python types
|
||||
- `make py-sync` to sync Python workspace dependencies with uv
|
||||
- `make go-test` to run Go client tests
|
||||
- `make compose-up` to run server + MinIO
|
||||
- `make compose-up-dev` to run MinIO only
|
||||
- `make compose-up` to run server + SeaweedFS
|
||||
- `make compose-up-dev` to run SeaweedFS only
|
||||
- `make run-server` to start host `uvicorn` with `.env` (if present) plus defaults
|
||||
|
||||
## Development Server Workflow
|
||||
|
||||
This is the recommended local workflow for iterating on the Python server and conversion
|
||||
library while keeping MinIO in Docker.
|
||||
library while keeping SeaweedFS in Docker.
|
||||
|
||||
### 1) Prerequisites
|
||||
|
||||
@@ -64,7 +64,7 @@ From repo root:
|
||||
make py-sync
|
||||
```
|
||||
|
||||
### 4) Start MinIO dependency stack (dev compose)
|
||||
### 4) Start SeaweedFS dependency stack (dev compose)
|
||||
|
||||
From repo root:
|
||||
|
||||
@@ -72,11 +72,12 @@ From repo root:
|
||||
make compose-up-dev
|
||||
```
|
||||
|
||||
MinIO endpoints:
|
||||
SeaweedFS endpoints:
|
||||
|
||||
- API: `http://localhost:9000`
|
||||
- Console: `http://localhost:9001`
|
||||
- Default creds: `minioadmin` / `minioadmin`
|
||||
- S3 API: `http://localhost:8333`
|
||||
- Master API: `http://localhost:9333`
|
||||
- Filer API: `http://localhost:8888`
|
||||
- Default S3 creds: `minioadmin` / `minioadmin`
|
||||
|
||||
### 5) Start Connect server (host process)
|
||||
|
||||
@@ -90,11 +91,10 @@ make run-server
|
||||
|
||||
- loads `.env` automatically if present
|
||||
- applies reasonable defaults when values are not set
|
||||
- defaults MinIO endpoint to `localhost:9000` for host-based development
|
||||
- defaults S3 endpoint to `localhost:8333` for host-based development
|
||||
- auto-normalizes `seaweedfs:8333` to `localhost:8333` for host runs
|
||||
- supports optional `UVICORN_HOST` and `UVICORN_PORT` overrides
|
||||
|
||||
If you copy from `.env.example`, set `MINIO_ENDPOINT=localhost:9000` for host mode.
|
||||
|
||||
Server endpoint base URL:
|
||||
|
||||
- `http://localhost:8080`
|
||||
@@ -120,10 +120,16 @@ Then:
|
||||
|
||||
### 7) Full container workflow (optional)
|
||||
|
||||
If you want to run both server and MinIO in Docker:
|
||||
If you want to run both server and SeaweedFS in Docker:
|
||||
|
||||
```bash
|
||||
make compose-up
|
||||
```
|
||||
|
||||
Use `.env.example` as your baseline env configuration.
|
||||
|
||||
## Storage Backend Notes
|
||||
|
||||
- This project defaults to **SeaweedFS S3 API** for object transit in development and compose deployments.
|
||||
- The Python server uses the `minio` Python SDK, which is intentional because SeaweedFS is S3-compatible.
|
||||
- Runtime configuration uses `S3_*` environment variables.
|
||||
|
||||
Reference in New Issue
Block a user