diff --git a/VPS/.env b/VPS/.env new file mode 100644 index 0000000..6a255f6 --- /dev/null +++ b/VPS/.env @@ -0,0 +1,17 @@ +COMPOSE_PROJECT_NAME=assistente + +External_Seq_Port= +External_UI_Port= +External_API_Port= + +Database_ConnectionString='' +OpenAI_ApiKey='' +Seq_Url='http://assistente-seq:5341' +Seq_ApiKey='' +Qdrant_Host='assistente-qdrant' +Qdrant_Port='6334' +Rabbit_Name='ASSISTENTE.Worker.Sync' +Rabbit_Url='' +InternalApi_Url='https://api.assistente.dev' +KnowledgePaths_MarkdownNotes='../DOCS' # load documentation to assistente memory +KnowledgePaths_Repositories='../API' # load codebase to assistente memory \ No newline at end of file diff --git a/VPS/docker-compose.yml b/VPS/docker-compose.yml new file mode 100644 index 0000000..e877e2e --- /dev/null +++ b/VPS/docker-compose.yml @@ -0,0 +1,109 @@ +services: + qdrant: + profiles: ["setup"] + image: qdrant/qdrant + container_name: assistente-qdrant + hostname: qdrant + restart: always + volumes: + - assistente-qdrant:/qdrant/storage + + seq: + profiles: ["setup"] + image: datalust/seq:latest + container_name: assistente-seq + hostname: assistente-seq + restart: unless-stopped + ports: + - ${External_Seq_Port}:80 + environment: + - ACCEPT_EULA=Y + - API_KEY=${Seq_ApiKey} + volumes: + - assistente-seq:/data + + ui: + profiles: ["app"] + image: armatysme/assistente-ui:latest + container_name: ui + hostname: assistente-ui + restart: unless-stopped + depends_on: + - api + ports: + - ${External_UI_Port}:8080 + volumes: + - ./../blazor.json:/var/www/web/appsettings.json + + db-upgrade: + profiles: ["database"] + image: armatysme/assistente-db-upgrade:latest + container_name: db-upgrade + environment: + - Database__ConnectionString=${Database_ConnectionString} + + api: + profiles: ["app"] + image: armatysme/assistente-api:latest + container_name: api + hostname: assistente-api + restart: unless-stopped + depends_on: + - worker-sync + ports: + - ${External_API_Port}:8080 + environment: + - Database__ConnectionString=${Database_ConnectionString} + - OpenAI__ApiKey=${OpenAI_ApiKey} + - Seq_Url=${Seq_Url} + - Seq_ApiKey=${Seq_ApiKey} + - Qdrant__Host=${Qdrant_Host} + - Qdrant__Port=${Qdrant_Port} + - Rabbit__Name=${Rabbit_Name} + - Rabbit__Url=${Rabbit_Url} + - InternalApi__Url=${InternalApi_Url} + + worker-sync: + profiles: ["app"] + image: armatysme/assistente-worker-sync:latest + container_name: worker-sync + hostname: assistente-worker-sync + restart: always + environment: + - Database__ConnectionString=${Database_ConnectionString} + - OpenAI__ApiKey=${OpenAI_ApiKey} + - Seq_Url=${Seq_Url} + - Seq_ApiKey=${Seq_ApiKey} + - Qdrant__Host=${Qdrant_Host} + - Qdrant__Port=${Qdrant_Port} + - Rabbit__Name=${Rabbit_Name} + - Rabbit__Url=${Rabbit_Url} + - InternalApi__Url=${InternalApi_Url} + + playground: + profiles: ["playground"] + image: armatysme/assistente-playground:latest + container_name: playground + entrypoint: ["dotnet", "ASSISTENTE.Playground.dll", "-l"] + environment: + - Database__ConnectionString=${Database_ConnectionString} + - OpenAI__ApiKey=${OpenAI_ApiKey} + - Seq_Url=${Seq_Url} + - Seq_ApiKey=${Seq_ApiKey} + - Qdrant__Host=${Qdrant_Host} + - Qdrant__Port=${Qdrant_Port} + volumes: + - ./${KnowledgePaths_MarkdownNotes}:/app/Resources/Notes + - ./${KnowledgePaths_Repositories}:/app/Resources/Repositories + +volumes: + assistente-postgres: + driver: local + assistente-pg-admin: + driver: local + assistente-qdrant: + driver: local + assistente-rabbitmq: + driver: local + assistente-seq: + driver: local \ No newline at end of file