პრობლემების მოგვარება
ეს გვერდი OpenPR-ის მუშაობისას გავრცელებულ პრობლემებს და მათ გადაწყვეტებს მოიცავს.
მონაცემ-ბაზ-კავშირი
API "connection refused"-ით ვერ იწყება
API სერვერი PostgreSQL-ის მზადყოფნამდე ადრე იწყება.
გადაწყვეტა: Docker Compose-ფაილი depends_on-ს condition: service_healthy-ით და ჯანმრთ-შემ-ებს შეიცავს. პრობლ-გახ-ისას PostgreSQL-ის start_period-ის გაზრდა:
postgres:
healthcheck:
start_period: 30s # Increase from default 10s"role openpr does not exist"
PostgreSQL-მომხ ვერ შეიქმნა.
გადაწყვეტა: Docker Compose-გარ-ში POSTGRES_USER-ისა და POSTGRES_PASSWORD-ის შ-ს-ს გ. PostgreSQL-ის ხ-გ-ის შ:
createuser -U postgres openpr
createdb -U postgres -O openpr openprმიგრაციები არ სრულდება
მ-ები PostgreSQL-კონტ-პ-სტ-ზე ავტ-სრ (docker-entrypoint-initdb.d-ის გავ).
გადაწყვეტა: მ-ბ-უკ-არ-ხ-ისას ხ-მ-ების გ:
docker exec -it openpr-postgres psql -U openpr -d openpr
# Then run each migration SQL file in orderან ვოლ-ახ-შ:
docker-compose down -v
docker-compose up -dმონ-დაკ
docker-compose down -v მ-ბ-ვოლ-წ. ჯ-მ-ების backup.
ავთენტიფიკაცია
"Invalid token" სერვ-restart-ის შ
JWT-ტ-ები JWT_SECRET-ით ხელ-დება. restart-ებ-შ ამ მ-შ-ისას ყველა ხ-ტ-ი ბ.
გადაწყვეტა: .env-ში ფ-JWT_SECRET-ის დ:
JWT_SECRET=your-fixed-random-secret-hereპირველი მომხ admin-ი არ არის
admin-ის-როლი პ-დარ-მომხ-ს ენ. role: "user"-ის ნ role: "admin"-ის ნ-ლ სხვა ანგ-ი პ-ად დ.
გადაწყვეტა: მ-ბ-ის გამ-ი-ს გ:
docker exec -it openpr-postgres psql -U openpr -d openpr \
-c "UPDATE users SET role = 'admin' WHERE email = '[email protected]';"Docker / Podman
Podman build DNS-შ-ით ვ-ხ
Podman-ის ნ-ქ build-ებ-ს DNS-წვ-ს არ აქვს.
გადაწყვეტა: Podman-ის სურ-ბ-ისას ყოვ --network=host-ის გ:
sudo podman build --network=host --build-arg APP_BIN=api -f Dockerfile.prebuilt -t openpr_api .Frontend "502 Bad Gateway"-ს გ
Nginx-კ-ი API სერვ-ს ვ-მ.
გადაწყვეტა: შ-მ:
- API-კ-ი მ:
docker-compose ps - API-ჯ-შ-გ:
docker exec openpr-api curl -f http://localhost:8080/health - ორი კ-ი ერ-ქ-ია:
docker network inspect openpr_openpr-network
პ-კ
სხვა სერვ-ი ერ-პ-ს იყ.
გადაწყვეტა: docker-compose.yml-ში გ-პ-მ-ის შ:
api:
ports:
- "8082:8080" # Changed from 8081MCP სერვერი
"tools/list returns empty"
MCP-სერვ API-ს ვ-მ.
გადაწყვეტა: გ-ცვლ-გ:
docker exec openpr-mcp-server env | grep OPENPRშ:
OPENPR_API_URLსწ-API-endpoint-ს მOPENPR_BOT_TOKENვ-ბ-ტ-ია (opr_-ით)OPENPR_WORKSPACE_IDვ-სამ-სივ-UUID-ია
stdio-ს-ე ვ-მ
MCP-ბ-ი AI-კლ-ში ბ-ად კ-ს.
გადაწყვეტა: ბ-გ-სწ-ია და გ-ცვლ-დ:
{
"mcpServers": {
"openpr": {
"command": "/absolute/path/to/mcp-server",
"args": ["--transport", "stdio"],
"env": {
"OPENPR_API_URL": "http://localhost:3000",
"OPENPR_BOT_TOKEN": "opr_...",
"OPENPR_WORKSPACE_ID": "..."
}
}
}
}SSE-კ-ი ვ
SSE-კ-ებს მ-timeout-ის მ-proxy-სერვ-ი ხ.
გადაწყვეტა: reverse-proxy-ის გ-ისას SSE-endpoint-ის timeout-ის გ:
# Caddy
reverse_proxy /sse localhost:8090 {
flush_interval -1
}Frontend
განასახ-შ ცარ-გვ
Frontend-ბ-ი ტ-ს შ-API-URL-ს იყ.
გადაწყვეტა: build-მ VITE_API_URL-ის დ:
VITE_API_URL=https://your-domain.example.com/api npm run buildშ-მ-ხ-სრ ც-ია
API-მ-ები ჩ-ვ. ბრ-კ (F12) 401 ან CORS-შ-ების შ.
გადაწყვეტა: API ბ-ს-ხ-ია და CORS-კ-ია. frontend Nginx-ის გ-API-მ-ების proxy-ს.
შესრულება
ნ-ძ-ები
PostgreSQL-სრ-ტ-ძ-ი დ-მ-ბ-ების გ-ბ-ც-ი შ.
გადაწყვეტა: FTS-ინ-ექ-ის (მ-ებ-ის მ-შ) შ:
-- Check for existing indexes
SELECT indexname FROM pg_indexes WHERE tablename = 'work_items';მ-მ-მ-გ-
API-სერვ-ი ფ-ატ-ებს მ-ში ამ.
გადაწყვეტა: ატ-ზ-შ-ება და uploads/ დ-ის მ. ძვ-ატ-ების პ-გ-ის გ.
დახმ-მ-
issue-ი აქ ვ-მ-ისას:
- ც-პრ-ს GitHub Issues-ში შ.
- API-ისა და MCP-სერვ-ლოგ-ების შ-მ.
- ახ-issue-ის გ-ი-ს, გ-ლ, გ-და გ-ნ.