migrate from github
This commit is contained in:
@@ -0,0 +1,251 @@
|
||||
services:
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
container_name: yoresee_doc_nginx
|
||||
ports:
|
||||
- "${NGINX_HTTP_PORT:-8080}:80"
|
||||
- "${NGINX_HTTPS_PORT:-8443}:443"
|
||||
volumes:
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||
- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
|
||||
- ./logs/nginx:/var/log/nginx
|
||||
depends_on:
|
||||
- frontend
|
||||
- backend
|
||||
- collab
|
||||
- minio
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
frontend:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: frontend/Dockerfile.prod
|
||||
target: runner
|
||||
image: yoresee_doc_frontend_runner:latest
|
||||
container_name: yoresee_doc_frontend
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- VITE_API_BASE_URL=${VITE_API_BASE_URL:-http://localhost:8080}
|
||||
- VITE_GRPC_WEB_ENDPOINT=${VITE_GRPC_WEB_ENDPOINT:-/grpc}
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
postgres:
|
||||
image: postgres:15-alpine
|
||||
container_name: yoresee_doc_postgres
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER:-root}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-your_password}
|
||||
POSTGRES_DB: ${POSTGRES_DB:-yoresee_doc_db}
|
||||
volumes:
|
||||
- yoresee_doc_postgres_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: yoresee_doc_redis
|
||||
environment:
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD:-your_redis_password}
|
||||
volumes:
|
||||
- yoresee_doc_redis_data:/data
|
||||
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
|
||||
command: redis-server /usr/local/etc/redis/redis.conf
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
consul:
|
||||
image: hashicorp/consul:1.16
|
||||
container_name: yoresee_doc_consul
|
||||
command: "agent -dev -client=0.0.0.0 -ui"
|
||||
environment:
|
||||
CONSUL_LOCAL_CONFIG: >-
|
||||
{"acl":{"enabled":true,"default_policy":"deny","down_policy":"extend-cache","enable_token_persistence":true,"tokens":{"initial_management":"${CONSUL_ROOT_TOKEN:-yoresee_doc_root_token}"}}}
|
||||
ports:
|
||||
- "${CONSUL_HOST_PORT:-8500}:${CONSUL_PORT:-8500}"
|
||||
volumes:
|
||||
- yoresee_doc_consul_data:/consul/data
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-management
|
||||
container_name: yoresee_doc_rabbitmq
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER:-guest}
|
||||
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS:-guest}
|
||||
volumes:
|
||||
- yoresee_doc_rabbitmq_data:/var/lib/rabbitmq
|
||||
- ./rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
|
||||
- ./logs/rabbitmq:/var/log/rabbitmq
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: yoresee_doc_minio
|
||||
command: server /data --console-address ":${MINIO_CONSOLE_PORT:-9001}"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
||||
MINIO_BROWSER_REDIRECT_URL: ${MINIO_BROWSER_REDIRECT_URL:-http://localhost:8080/minio}
|
||||
volumes:
|
||||
- yoresee_doc_minio_data:/data
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
elasticsearch:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:8.15.3
|
||||
container_name: yoresee_doc_elasticsearch
|
||||
environment:
|
||||
- discovery.type=single-node
|
||||
- xpack.security.enabled=false
|
||||
- xpack.security.enrollment.enabled=false
|
||||
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
||||
volumes:
|
||||
- yoresee_doc_elasticsearch_data:/usr/share/elasticsearch/data
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: backend/Dockerfile.prod
|
||||
target: runner
|
||||
image: yoresee_doc_backend_runner:latest
|
||||
container_name: yoresee_doc_backend
|
||||
volumes:
|
||||
- ../backend/config.toml:/app/config.toml
|
||||
environment:
|
||||
- BACKEND_INTERNAL_RPC_KEY=${BACKEND_INTERNAL_RPC_KEY:-yoresee_doc_internal_key}
|
||||
ports:
|
||||
- "${BACKEND_GRPC_HOST_PORT:-9090}:${BACKEND_GRPC_PORT:-9090}"
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
- consul
|
||||
- rabbitmq
|
||||
- minio
|
||||
- elasticsearch
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
collab-core:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: collab/Dockerfile.prod
|
||||
image: yoresee_doc_collab_core:latest
|
||||
container_name: yoresee_doc_collab_core
|
||||
environment:
|
||||
- REDIS_HOST=${REDIS_HOST:-redis}
|
||||
- REDIS_PORT=${REDIS_PORT:-6379}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-your_redis_password}
|
||||
- REDIS_DB=${REDIS_DB:-0}
|
||||
- BACKEND_ADDR=${BACKEND_HOST:-backend}:${BACKEND_GRPC_PORT:-9090}
|
||||
- DIRTY_DOC_MQ=${DIRTY_DOC_MQ:-rabbitmq}
|
||||
- DIRTY_DOC_TOPIC=${DIRTY_DOC_TOPIC:-collab.dirty_docs}
|
||||
- RABBITMQ_URL=amqp://${RABBITMQ_DEFAULT_USER:-guest}:${RABBITMQ_DEFAULT_PASS:-guest}@${RABBITMQ_HOST:-rabbitmq}:${RABBITMQ_AMQP_PORT:-5672}/
|
||||
- INTERNAL_RPC_KEY=${BACKEND_INTERNAL_RPC_KEY:-yoresee_doc_internal_key}
|
||||
- DIRTY_DOC_NOTIFY_THRESHOLD=${DIRTY_DOC_NOTIFY_THRESHOLD:-200}
|
||||
depends_on:
|
||||
- redis
|
||||
- backend
|
||||
- rabbitmq
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
collab:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: collab-go/Dockerfile.prod
|
||||
image: yoresee_doc_collab_gateway:latest
|
||||
container_name: yoresee_doc_collab
|
||||
environment:
|
||||
- ADDR=:${COLLAB_GATEWAY_PORT:-1234}
|
||||
- JWT_SECRET=${JWT_SECRET:-yoresee_doc_jwt_secret_key}
|
||||
- COLLAB_CORE_URL=ws://${COLLAB_CORE_HOST:-collab-core}:${COLLAB_CORE_PORT:-1234}
|
||||
- BACKEND_GRPC_ADDR=${BACKEND_HOST:-backend}:${BACKEND_GRPC_PORT:-9090}
|
||||
- INTERNAL_RPC_KEY=${BACKEND_INTERNAL_RPC_KEY:-yoresee_doc_internal_key}
|
||||
depends_on:
|
||||
- collab-core
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
snapshot-worker:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: backend/Dockerfile.snapshot.prod
|
||||
image: yoresee_doc_snapshot_worker:latest
|
||||
container_name: yoresee_doc_snapshot_worker
|
||||
volumes:
|
||||
- ../backend/config.toml:/app/config.toml
|
||||
environment:
|
||||
- COLLAB_CORE_HTTP=http://${COLLAB_CORE_HOST:-collab-core}:${COLLAB_CORE_PORT:-1234}
|
||||
depends_on:
|
||||
- rabbitmq
|
||||
- redis
|
||||
- elasticsearch
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
notification-worker:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: backend/Dockerfile.notification.prod
|
||||
image: yoresee_doc_notification_worker:latest
|
||||
container_name: yoresee_doc_notification_worker
|
||||
volumes:
|
||||
- ../backend/config.toml:/app/config.toml
|
||||
environment:
|
||||
- NOTIFICATION_MQ=${NOTIFICATION_MQ:-rabbitmq}
|
||||
depends_on:
|
||||
- rabbitmq
|
||||
- redis
|
||||
- postgres
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
search-sync-worker:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: backend/Dockerfile.search-sync.prod
|
||||
image: yoresee_doc_search_sync_worker:latest
|
||||
container_name: yoresee_doc_search_sync_worker
|
||||
volumes:
|
||||
- ../backend/config.toml:/app/config.toml
|
||||
environment:
|
||||
- SEARCH_SYNC_MQ=${SEARCH_SYNC_MQ:-rabbitmq}
|
||||
depends_on:
|
||||
- rabbitmq
|
||||
- redis
|
||||
- postgres
|
||||
- elasticsearch
|
||||
networks:
|
||||
- yoresee_doc_network
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
yoresee_doc_postgres_data:
|
||||
yoresee_doc_redis_data:
|
||||
yoresee_doc_consul_data:
|
||||
yoresee_doc_rabbitmq_data:
|
||||
yoresee_doc_minio_data:
|
||||
yoresee_doc_elasticsearch_data:
|
||||
|
||||
networks:
|
||||
yoresee_doc_network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user