base-config structure is changed (#618)
refactor(docker): restructure docker-compose for modular configuration - Added reusable base configuration block (x-base-config) for ports, environment variables, volumes, deployment resources, restart policy, and health check. - Updated services to include base configuration directly using `<<: *base-config` syntax. - Removed redundant `base-config` service definition.
This commit is contained in:
@@ -1,3 +1,30 @@
|
|||||||
|
# Base configuration (not a service, just a reusable config block)
|
||||||
|
x-base-config: &base-config
|
||||||
|
ports:
|
||||||
|
- "11235:11235"
|
||||||
|
- "8000:8000"
|
||||||
|
- "9222:9222"
|
||||||
|
- "8080:8080"
|
||||||
|
environment:
|
||||||
|
- CRAWL4AI_API_TOKEN=${CRAWL4AI_API_TOKEN:-}
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
||||||
|
- CLAUDE_API_KEY=${CLAUDE_API_KEY:-}
|
||||||
|
volumes:
|
||||||
|
- /dev/shm:/dev/shm
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 4G
|
||||||
|
reservations:
|
||||||
|
memory: 1G
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:11235/health"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 40s
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Local build services for different platforms
|
# Local build services for different platforms
|
||||||
crawl4ai-amd64:
|
crawl4ai-amd64:
|
||||||
@@ -11,9 +38,7 @@ services:
|
|||||||
platforms:
|
platforms:
|
||||||
- linux/amd64
|
- linux/amd64
|
||||||
profiles: ["local-amd64"]
|
profiles: ["local-amd64"]
|
||||||
extends: &base-config
|
<<: *base-config # extends yerine doğrudan yapılandırmayı dahil ettik
|
||||||
file: docker-compose.yml
|
|
||||||
service: base-config
|
|
||||||
|
|
||||||
crawl4ai-arm64:
|
crawl4ai-arm64:
|
||||||
build:
|
build:
|
||||||
@@ -26,42 +51,15 @@ services:
|
|||||||
platforms:
|
platforms:
|
||||||
- linux/arm64
|
- linux/arm64
|
||||||
profiles: ["local-arm64"]
|
profiles: ["local-arm64"]
|
||||||
extends: *base-config
|
<<: *base-config
|
||||||
|
|
||||||
# Hub services for different platforms and versions
|
# Hub services for different platforms and versions
|
||||||
crawl4ai-hub-amd64:
|
crawl4ai-hub-amd64:
|
||||||
image: unclecode/crawl4ai:${VERSION:-basic}-amd64
|
image: unclecode/crawl4ai:${VERSION:-basic}-amd64
|
||||||
profiles: ["hub-amd64"]
|
profiles: ["hub-amd64"]
|
||||||
extends: *base-config
|
<<: *base-config
|
||||||
|
|
||||||
crawl4ai-hub-arm64:
|
crawl4ai-hub-arm64:
|
||||||
image: unclecode/crawl4ai:${VERSION:-basic}-arm64
|
image: unclecode/crawl4ai:${VERSION:-basic}-arm64
|
||||||
profiles: ["hub-arm64"]
|
profiles: ["hub-arm64"]
|
||||||
extends: *base-config
|
<<: *base-config
|
||||||
|
|
||||||
# Base configuration to be extended
|
|
||||||
base-config:
|
|
||||||
ports:
|
|
||||||
- "11235:11235"
|
|
||||||
- "8000:8000"
|
|
||||||
- "9222:9222"
|
|
||||||
- "8080:8080"
|
|
||||||
environment:
|
|
||||||
- CRAWL4AI_API_TOKEN=${CRAWL4AI_API_TOKEN:-}
|
|
||||||
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
||||||
- CLAUDE_API_KEY=${CLAUDE_API_KEY:-}
|
|
||||||
volumes:
|
|
||||||
- /dev/shm:/dev/shm
|
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 4G
|
|
||||||
reservations:
|
|
||||||
memory: 1G
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:11235/health"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
start_period: 40s
|
|
||||||
Reference in New Issue
Block a user