Hello Speckle Team,
I hope this message finds you well. I have successfully deployed SpeckleServer 2.27.1 locally, and I would like to seek your guidance on a feature-related question.
Here is my current yml configuration file:
version: '2.3'
name: 'speckle-server'
services:
postgres:
image: 'postgres:16.9-alpine'
restart: always
ports:
- '5432:5432'
environment:
POSTGRES_DB: speckle
POSTGRES_USER: speckle
POSTGRES_PASSWORD: speckle
volumes:
- ./postgres-data:/var/lib/postgresql/data/
redis:
image: 'valkey/valkey:8-alpine'
restart: always
ports:
- '6379:6379'
volumes:
- ./redis-data:/data
minio:
image: 'minio/minio'
command: server /data --console-address ":9001"
restart: always
ports:
- '9000:9000'
- '9001:9001'
environment:
# 显式设置 MinIO 的账号密码,对应 Speckle 中的 S3_ACCESS_KEY 和 S3_SECRET_KEY
MINIO_ROOT_USER: 'minioadmin'
MINIO_ROOT_PASSWORD: 'minioadmin'
volumes:
- ./minio-data:/data
# speckle-ingress:
# image: speckle/speckle-docker-compose-ingress:2.27.1
# restart: always
# ports:
# - '80:8080'
# environment:
# NGINX_ENVSUBST_OUTPUT_DIR: '/etc/nginx'
# FILE_SIZE_LIMIT_MB: '100'
# speckle-frontend-2:
# image: speckle/speckle-frontend-2:2.27.1
# restart: always
# environment:
# NUXT_PUBLIC_SERVER_NAME: 'local'
# NUXT_PUBLIC_API_ORIGIN: 'http://127.0.0.1'
# NUXT_PUBLIC_BACKEND_API_ORIGIN: 'http://speckle-server:3000'
# NUXT_PUBLIC_BASE_URL: 'http://127.0.0.1'
# NUXT_REDIS_URL: 'redis://redis'
# NUXT_PUBLIC_SSL_ENABLED: 'false'
speckle-server:
image: speckle/speckle-server:2.27.1
restart: always
depends_on:
- postgres
- redis
- minio
ports:
- '3000:3000'
environment:
CANONICAL_URL: 'http://127.0.0.1'
SESSION_SECRET: 'your-secret-key-here'
STRATEGY_LOCAL: 'true'
POSTGRES_URL: 'postgres'
POSTGRES_USER: 'speckle'
POSTGRES_PASSWORD: 'speckle'
POSTGRES_DB: 'speckle'
REDIS_URL: 'redis://redis'
# --- 修改开始 ---
# S3 API 必须连接 9000 端口,而不是 9001
S3_ENDPOINT: 'http://minio:9000'
S3_PUBLIC_ENDPOINT: 'http://minio:9000'
S3_ACCESS_KEY: 'minioadmin'
S3_SECRET_KEY: 'minioadmin'
S3_BUCKET: 'speckle-server'
# 允许 Speckle 自动创建 Bucket
S3_CREATE_BUCKET: 'true'
# --- 修改结束 ---
FRONTEND_ORIGIN: 'http://127.0.0.1'
EMAIL: 'true'
EMAIL_HOST: 'smtp.163.com'
EMAIL_PORT: '465'
EMAIL_USERNAME: '[email protected]'
EMAIL_PASSWORD: '******'
EMAIL_SECURE: 'true'
EMAIL_REQUIRE_TLS: 'false'
EMAIL_FROM: '[email protected]'
preview-service:
image: speckle/speckle-preview-service:2.27.1
restart: always
depends_on:
- speckle-server
environment:
PORT: '3001'
REDIS_URL: 'redis://redis'
webhook-service:
image: speckle/speckle-webhook-service:2.27.1
restart: always
depends_on:
- speckle-server
- postgres
environment:
PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle'
REDIS_URL: 'redis://redis'
fileimport-service:
image: speckle/speckle-fileimport-service:2.27.1
restart: always
depends_on:
- speckle-server
environment:
SPECKLE_SERVER_URL: 'http://speckle-server:3000'
REDIS_URL: 'redis://redis'
PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle'
The deployment is working well overall, but I’ve noticed that the “Saved View” feature is not appearing in the projects I’ve created. Upon investigating the frontend-2 codebase, I found that the Saved View feature is controlled by the following condition:
export const useAreSavedViewsEnabled = () => {
const {
public: { FF_SAVED_VIEWS_ENABLED, FF_WORKSPACES_MODULE_ENABLED }
} = useRuntimeConfig()
return !!(FF_SAVED_VIEWS_ENABLED && FF_WORKSPACES_MODULE_ENABLED)
}
Based on this, I have a few questions that I would greatly appreciate your help with:
- Does this mean that a workspace license is required to enable the Saved View feature in self-hosted deployments?
- If not, could you please guide me on how to configure the environment variables or settings to enable this feature?
- Are there any plans to make this basic viewer functionality freely available for self-hosted versions in the future?
I understand that you have a lot on your plate, and I truly appreciate any guidance or clarification you can provide on this matter. Thank you so much for your excellent work on Speckle and for taking the time to help the community!
Best regards,
zhuzhu