Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions deployment/single-node/.env
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,44 @@ LAKEFS_INSTALLATION_ACCESS_KEY_ID=AKIAIOSFOLKFSSAMPLES
LAKEFS_INSTALLATION_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
LAKEFS_BLOCKSTORE_TYPE=s3
LAKEFS_BLOCKSTORE_S3_FORCE_PATH_STYLE=true
LAKEFS_BLOCKSTORE_S3_ENDPOINT=http://texera-minio:9000
LAKEFS_BLOCKSTORE_S3_ENDPOINT=http://minio:9000
LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID=texera_minio
LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY=password
LAKEFS_AUTH_ENCRYPT_SECRET_KEY=random_string_for_lakefs
LAKEFS_LOGGING_LEVEL=INFO
LAKEFS_STATS_ENABLED=1
LAKEFS_DATABASE_TYPE=postgres
LAKEFS_DATABASE_POSTGRES_CONNECTION_STRING=postgres://texera:password@texera-postgres:5432/texera_lakefs?sslmode=disable
LAKEFS_DATABASE_POSTGRES_CONNECTION_STRING=postgres://texera:password@postgres:5432/texera_lakefs?sslmode=disable
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to remove texera from all variables?


STORAGE_S3_ENDPOINT=http://texera-minio:9000
STORAGE_LAKEFS_ENDPOINT=http://texera-lakefs:8000/api/v1
STORAGE_JDBC_URL=jdbc:postgresql://texera-postgres:5432/texera_db?currentSchema=texera_db,public
STORAGE_S3_ENDPOINT=http://minio:9000
STORAGE_LAKEFS_ENDPOINT=http://lakefs:8000/api/v1
STORAGE_JDBC_URL=jdbc:postgresql://postgres:5432/texera_db?currentSchema=texera_db,public
STORAGE_JDBC_USERNAME=texera
STORAGE_JDBC_PASSWORD=password
FILE_SERVICE_GET_PRESIGNED_URL_ENDPOINT=http://texera-file-service:9092/api/dataset/presign-download
FILE_SERVICE_UPLOAD_ONE_FILE_TO_DATASET_ENDPOINT=http://texera-file-service:9092/api/dataset/did/upload
FILE_SERVICE_GET_PRESIGNED_URL_ENDPOINT=http://file-service:9092/api/dataset/presign-download
FILE_SERVICE_UPLOAD_ONE_FILE_TO_DATASET_ENDPOINT=http://file-service:9092/api/dataset/did/upload
USER_SYS_ENABLED=true
STORAGE_ICEBERG_CATALOG_TYPE=postgres
STORAGE_ICEBERG_CATALOG_POSTGRES_URI_WITHOUT_SCHEME=texera-postgres:5432/texera_iceberg_catalog
STORAGE_ICEBERG_CATALOG_POSTGRES_URI_WITHOUT_SCHEME=postgres:5432/texera_iceberg_catalog
STORAGE_ICEBERG_CATALOG_POSTGRES_USERNAME=texera
STORAGE_ICEBERG_CATALOG_POSTGRES_PASSWORD=password
# variables for admin user credentials
USER_SYS_ADMIN_USERNAME=texera
USER_SYS_ADMIN_PASSWORD=texera

# variables for example user, datasets and workflows
TEXERA_EXAMPLE_USERNAME=texera
TEXERA_EXAMPLE_PASSWORD=texera
TEXERA_EXAMPLE_USERNAME="${USER_SYS_ADMIN_USERNAME}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the env should have examples and docker compose override them, here you are using system env inside .env file

TEXERA_EXAMPLE_PASSWORD="${USER_SYS_ADMIN_PASSWORD}"
TEXERA_EXAMPLE_IS_PUBLIC=true
TEXERA_EXAMPLE_DATASET_DIR=/example_data/data
TEXERA_EXAMPLE_WORKFLOW_DIR=/example_data/workflows
TEXERA_EXAMPLE_WORKFLOW_DIR=/example_data/workflows

# Additional configuration for GUI
GUI_DATASET_SINGLE_FILE_UPLOAD_MAXIMUM_SIZE_MB=10240
GUI_WORKFLOW_WORKSPACE_PRODUCTION_SHARED_EDITING_SERVER=true
GUI_WORKFLOW_WORKSPACE_WORKFLOW_EXECUTIONS_TRACKING_ENABLED=true
GUI_WORKFLOW_WORKSPACE_EXPORT_EXECUTION_RESULT_ENABLED=true
GUI_LOGIN_GOOGLE_LOGIN=false
GUI_TABS_HUB_ENABLED=false
GUI_LOGIN_DEFAULT_LOCAL_USER_USERNAME="${USER_SYS_ADMIN_USERNAME}"
GUI_LOGIN_DEFAULT_LOCAL_USER_PASSWORD="${USER_SYS_ADMIN_PASSWORD}"
71 changes: 62 additions & 9 deletions deployment/single-node/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

name: texera-single-node-release-1-0-0
name: texera-single-node-release-1-1-0
services:
# Part1: Specification of the storage services used by Texera
# MinIO is an S3-compatible object storage used to store datasets and files.
Expand Down Expand Up @@ -78,7 +78,7 @@ services:
# Part2: Specification of Texera's micro-services
# FileService provides endpoints for Texera's dataset management
file-service:
image: texera/file-service:single-node-release-1-0-0
image: texera/file-service:release-1-1-0
container_name: texera-file-service
restart: always
depends_on:
Expand All @@ -94,9 +94,41 @@ services:
timeout: 3s
retries: 10

# ConfigService provides configuration management endpoints
config-service:
image: texera/config-service:release-1-1-0
container_name: texera-config-service
restart: always
depends_on:
postgres:
condition: service_healthy
env_file:
- .env
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:9094/api/healthcheck"]
interval: 5s
timeout: 3s
retries: 10

# ComputingUnitManagingService manages computing unit allocation and resources
computing-unit-managing-service:
image: texera/workflow-computing-unit-managing-service:release-1-1-0
container_name: texera-computing-unit-managing-service
restart: always
depends_on:
postgres:
condition: service_healthy
env_file:
- .env
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8888/api/healthcheck"]
interval: 5s
timeout: 3s
retries: 10

# WorkflowCompilingService provides endpoints for sanity check and schema propagation while workflows are being edited
workflow-compiling-service:
image: texera/workflow-compiling-service:single-node-release-1-0-0
image: texera/workflow-compiling-service:release-1-1-0
container_name: texera-workflow-compiling-service
restart: always
depends_on:
Expand All @@ -110,10 +142,20 @@ services:
timeout: 3s
retries: 10

# Y-WebSocket server for real-time collaboration
y-websocket-server:
image: texera/y-websocket-server:release-1-1-0
container_name: texera-y-websocket-server
restart: always
env_file:
- .env
ports:
- "1234:1234"

# ComputingUnitMaster provides endpoints for executing workflows and interactions during executions.
computing-unit-master:
# to enable R operators, change the image tag to single-node-release-1-0-0-R
image: texera/computing-unit-master:single-node-release-1-0-0
# to enable R operators, change the image tag to release-1-1-0-R
image: texera/computing-unit-master:release-1-1-0
container_name: texera-computing-unit-master
restart: always
depends_on:
Expand All @@ -126,16 +168,22 @@ services:

# TexeraWebApplication provides endpoints for hub resource management.
texera-web-application:
image: texera/texera-web-application:single-node-release-1-0-0
image: texera/texera-web-application:release-1-1-0
container_name: texera-web-application
restart: always
depends_on:
computing-unit-master:
condition: service_started
computing-unit-managing-service:
condition: service_healthy
workflow-compiling-service:
condition: service_healthy
file-service:
condition: service_healthy
config-service:
condition: service_healthy
y-websocket-server:
condition: service_started
env_file:
- .env
volumes:
Expand All @@ -147,14 +195,16 @@ services:
retries: 10

texera-example-data-loader:
image: texera/texera-example-data-loader:single-node-release-1-0-0
image: texera/texera-example-data-loader:release-1-1-0
container_name: texera-example-data-loader
depends_on:
texera-web-application:
condition: service_healthy
file-service:
condition: service_healthy
environment:
TEXERA_WEB_APPLICATION_URL: http://texera-web-application:8080/api
TEXERA_FILE_SERVICE_URL: http://texera-file-service:9092/api
TEXERA_FILE_SERVICE_URL: http://file-service:9092/api
restart: "no"

texera-access-message:
Expand Down Expand Up @@ -191,14 +241,17 @@ services:
- file-service
- texera-web-application
- computing-unit-master
- computing-unit-managing-service
- config-service
- y-websocket-server
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- "8080:8080"

networks:
default:
name: texera-single-node-release-1-0-0
name: texera-single-node-release-1-1-0

# persistent volumes
volumes:
Expand Down
26 changes: 26 additions & 0 deletions deployment/single-node/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,24 @@ http {
proxy_set_header X-Real-IP $remote_addr;
}

location /api/access/computing-unit/ {
proxy_pass http://texera-computing-unit-managing-service:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /api/config/ {
proxy_pass http://texera-config-service:9094;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /api/computing-unit {
proxy_pass http://texera-computing-unit-managing-service:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /api/ {
proxy_pass http://texera-web-application:8080;
proxy_set_header Host $host;
Expand All @@ -56,6 +74,14 @@ http {
proxy_set_header Host $host;
}

location /rtc {
proxy_pass http://texera-y-websocket-server:1234;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}

# Fallback for all other routes
location / {
proxy_pass http://texera-web-application:8080;
Expand Down
Loading