Documentation

Everything you need to get started with MeshSilo

Installation

MeshSilo can be installed on any server with PHP 8.0+ and a web server (Apache or Nginx).

Requirements

  • PHP 8.0 or higher
  • PDO extension (SQLite or MySQL)
  • GD or Imagick extension
  • Apache with mod_rewrite or Nginx
  • At least 512MB RAM

Quick Install

# Clone the repository
git clone https://github.com/meshsilo/silo.git
cd silo

# Set permissions
chmod -R 755 assets/ logs/ db/

# Visit install.php in your browser
# http://your-server/install.php

Docker Setup

The easiest way to run MeshSilo is with Docker.

Docker Compose

version: '3.8'
services:
  meshsilo:
    image: meshsilo/silo:latest
    ports:
      - "8080:80"
    volumes:
      - ./data:/var/www/html/db
      - ./assets:/var/www/html/assets
    environment:
      - SITE_URL=http://localhost:8080

Running

docker-compose up -d

Configuration

After installation, you can configure MeshSilo through the admin panel or by editing the config file.

Admin Settings

Access /admin/settings to configure:

  • Site name and URL
  • File upload limits
  • User registration settings
  • Email/SMTP configuration
  • Storage options (local or S3)

Licensing

MeshSilo requires a license to unlock full features. The free tier includes basic functionality.

Activating Your License

  1. Go to /admin/settings in MeshSilo
  2. Enter your email address
  3. Enter your license key
  4. Click "Activate License"

Syncing License Changes

If you upgrade or change your subscription, click "Sync License" to update your limits and features.

API Integration

MeshSilo validates licenses against our license server. The following endpoints are used:

  • POST /api/validate - Validate license credentials
  • POST /api/activate - Activate license for a site
  • POST /api/sync - Sync current license details

Uploading Models

MeshSilo supports various 3D file formats including STL, 3MF, OBJ, and more.

Single Upload

Click the upload button and select your file. MeshSilo will automatically generate thumbnails and extract metadata.

Bulk Upload

Upload a ZIP file containing multiple models. MeshSilo will extract and process each file.

Duplicate Detection

MeshSilo checks for duplicate files before uploading to save storage space.

Organizing Models

Keep your library organized with categories, collections, tags, and folders.

Categories

Hierarchical categories for broad organization (e.g., "Tools", "Miniatures", "Household").

Collections

Group related models together (e.g., "Kitchen Renovation Project").

Tags

Add color-coded tags for flexible filtering and quick identification.

Sharing

Share models with team members or external users.

Share Links

Generate shareable links that work without login. Set expiration dates and download limits.

Team Sharing

Share with specific users or groups with granular permissions.

Print Management

Track your prints and manage your print queue.

Print Queue

Add models to your print queue and track progress.

Print History

Record print settings, filament used, and attach photos of finished prints.

User Management

Manage users and permissions through the admin panel.

Permission Groups

Create groups with specific permissions and assign users to groups.

Available Permissions

  • Upload - Upload new models
  • Edit - Edit model details
  • Delete - Delete models
  • View Stats - View statistics
  • Admin - Full admin access

SSO/OIDC Setup

Configure Single Sign-On with any OIDC-compatible identity provider.

Supported Providers

  • Google Workspace
  • Microsoft Azure AD
  • Okta
  • Auth0
  • Keycloak
  • Any OIDC-compliant provider

Configuration

Enter your OIDC settings in /admin/settings:

  • Client ID
  • Client Secret
  • Discovery URL

Storage Options

MeshSilo supports local storage and S3-compatible object storage.

Local Storage

Files are stored in the assets/ directory. Ensure adequate disk space.

S3 Storage

Configure S3 or compatible storage (MinIO, DigitalOcean Spaces, etc.) for scalable storage.

API Reference

MeshSilo provides a REST API for integration with other tools.

Authentication

Generate an API key in /admin/api-keys. Include the key in the Authorization header:

Authorization: Bearer your-api-key

Endpoints

See the full API documentation at /api/docs in your MeshSilo installation.