Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"No external stores available" for external attachments #1463

Closed
swazynski opened this issue Feb 19, 2025 · 2 comments
Closed

"No external stores available" for external attachments #1463

swazynski opened this issue Feb 19, 2025 · 2 comments

Comments

@swazynski
Copy link

Describe the problem

I wanted to try out external attachments, but the setting is greyed out:
Image

I set up Minio according to the docs, and snapshots do work. Here is my docker-compose.yml:

version: '3'

services:
  # Grist - Low-code database / spreadsheet platform
  grist:
    image: gristlabs/grist:latest
    # Ports: 8484
    restart: unless-stopped
    networks:
      - web
      - grist
      - db
    depends_on:
      - minio
      - db
    environment:
      - ...
      - GRIST_SANDBOX_FLAVOR=gvisor # Sandboxes individual documents so that formulas in the documents can't access data that they're not supposed to see
      # Snapshots
      - GRIST_DOCS_MINIO_ACCESS_KEY=grist
      - GRIST_DOCS_MINIO_SECRET_KEY=REDACTED
      - GRIST_DOCS_MINIO_USE_SSL=0
      - GRIST_DOCS_MINIO_BUCKET=grist-docs
      - GRIST_DOCS_MINIO_ENDPOINT=minio
      - GRIST_DOCS_MINIO_PORT=9000
      # Redis
      - REDIS_URL=redis://redis
      # Home Database
      - TYPEORM_TYPE=postgres
      - TYPEORM_DATABASE=grist-home
      - TYPEORM_USERNAME=grist
      - TYPEORM_PASSWORD=REDACTED
      - TYPEORM_HOST=db
    logging:
      options:
        max-size: 50m
    volumes:
      - ../../data/grist/grist:/persist

  # Postgres for home database
  db:
    image: postgres:16-alpine
    restart: unless-stopped
    networks:
      db:
    volumes:
      - ../../data/grist/db:/var/lib/postgresql/data
    logging:
      options:
        max-size: 20m
    environment:
      POSTGRES_USER: grist
      POSTGRES_PASSWORD: REDACTED
      POSTGRES_DB: grist-home

  # Minio (S3 compatible storage) for snapshots
  minio:
    image: minio/minio:latest
    restart: unless-stopped
    networks:
      - grist
    volumes:
      - ../../data/grist/minio:/mnt/data
    environment:
      MINIO_ROOT_USER: grist
      MINIO_ROOT_PASSWORD: REDACTED
      MINIO_VOLUMES: /mnt/data
    command: server /data --address ":9000" -console-address ":9001"
    logging:
      options:
        max-size: 20m

  # Create buckets for grist
  createbuckets:
    image: minio/mc
    networks:
      - grist
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      /usr/bin/mc alias set myminio http://minio:9000 grist REDACTED;
      /usr/bin/mc mb --ignore-existing myminio/grist-docs;
      /usr/bin/mc version enable myminio/grist-docs;
      exit 0;
      "
    logging:
      options:
        max-size: 10m

  # Redis for snapshots and webhooks
  redis:
    image: redis:7
    restart: unless-stopped
    networks:
      - grist
    volumes:
      - '../../data/grist/redis:/data'
    logging:
      options:
        max-size: 20m
    

networks:
  web:
    external: true
  grist:
  db:

What am I missing?

Additional information

  • Grist version: 1.4.2
  • Grist instance URL: https://sheets.swdec.de
  • SSO solution used and its version (if relevant): (not relevant) OIDC
  • S3 storage solution and its version (if relevant): Minio (latest docker)
  • Docker version (if relevant): 27.5.1
  • NodeJS version (if relevant): /
  • Redis version (if relevant): 7
  • PostgreSQL version (if relevant): 16-alpine
@paulfitz
Copy link
Member

You need also the as yet undocumented GRIST_EXTERNAL_ATTACHMENTS_MODE=snapshots setting. We have docs coming for when we announce this feature in our newsletter.

@swazynski
Copy link
Author

Ah, thank you for your quick reply. That did the trick!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants