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
- Go to
/admin/settings in MeshSilo
- Enter your email address
- Enter your license key
- 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.