mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-26 22:21:33 +00:00
- Core Go application with GraphQL API using gqlgen - Comprehensive data models for literary works, authors, translations - Repository pattern with caching layer - Authentication and authorization system - Linguistics analysis capabilities with multiple adapters - Vector search integration with Weaviate - Docker containerization support - Python data migration and analysis scripts - Clean architecture with proper separation of concerns - Production-ready configuration and middleware - Proper .gitignore excluding vendor/, database files, and build artifacts
60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- .:/app
|
|
environment:
|
|
- DB_HOST=postgres
|
|
- DB_PORT=5432
|
|
- DB_USER=postgres
|
|
- DB_PASSWORD=postgres
|
|
- DB_NAME=tercul
|
|
- REDIS_ADDR=redis:6379
|
|
- WEAVIATE_HOST=http://weaviate:8080
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- weaviate
|
|
|
|
postgres:
|
|
image: pgvector/pgvector:pg16
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
- POSTGRES_USER=postgres
|
|
- POSTGRES_PASSWORD=postgres
|
|
- POSTGRES_DB=tercul
|
|
# Set to trust all connections for development
|
|
# Configure PostgreSQL to allow connections from all IPs
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis-data:/data
|
|
|
|
weaviate:
|
|
image: semitechnologies/weaviate:1.24.1
|
|
ports:
|
|
- "8090:8080"
|
|
environment:
|
|
- QUERY_DEFAULTS_LIMIT=25
|
|
- AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true
|
|
- PERSISTENCE_DATA_PATH=/var/lib/weaviate
|
|
- DEFAULT_VECTORIZER_MODULE=none
|
|
- CLUSTER_HOSTNAME=node1
|
|
volumes:
|
|
- weaviate-data:/var/lib/weaviate
|
|
|
|
volumes:
|
|
postgres-data:
|
|
redis-data:
|
|
weaviate-data:
|