Manyfold
Self-hosted digital asset manager for 3D print files
Alternative to: thingiverse, myminifactory, cults3d
Manyfold is an open source, self-hosted web application for managing a collection of 3D models, particularly focused on 3D printing. It scans and organizes STL/OBJ model libraries, renders in-browser 3D previews, and can import models and metadata directly from Thingiverse, MyMiniFactory, and Cults3D.
Manyfold Docker Compose example
Self-host Manyfold on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Manyfold in Docker containers using the official manyfold3d/manyfold:latest, postgres:15, redis:7 images, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
app:
image: manyfold3d/manyfold:latest
restart: unless-stopped
volumes:
# Persistent store for your 3D model library. Create a library in the
# Manyfold UI pointing at the container path /models.
- models:/models
# Persistent store for installed plugins (the app's default plugins path).
- plugins:/usr/src/app/plugins
environment:
# ID of the user the app runs as (owns the library/plugin files)
PUID: "1000"
# ID of the group the app runs as
PGID: "1000"
# Secret used to encrypt sessions/cookies — set a long random string
SECRET_KEY_BASE: "changeme"
# Redis connection for background jobs and caching (internal service)
REDIS_URL: "redis://redis:6379/1"
# Database driver — postgresql is recommended for best performance
DATABASE_ADAPTER: "postgresql"
# Hostname of the database service (internal service)
DATABASE_HOST: "postgres"
# Database port
DATABASE_PORT: "5432"
# Database user
DATABASE_USER: "manyfold"
# Database password (internal service — only reachable inside the stack)
DATABASE_PASSWORD: "manyfold"
# Database name
DATABASE_NAME: "manyfold"
depends_on:
- postgres
- redis
postgres:
image: postgres:15
restart: unless-stopped
volumes:
- db_data:/var/lib/postgresql/data
environment:
# Must match the app's DATABASE_USER
POSTGRES_USER: "manyfold"
# Must match the app's DATABASE_PASSWORD
POSTGRES_PASSWORD: "manyfold"
# Must match the app's DATABASE_NAME
POSTGRES_DB: "manyfold"
redis:
image: redis:7
restart: unless-stopped
volumes:
models:
plugins:
db_data:
Values set to changeme are required — replace them with your own
values before starting Manyfold.
Prefer a managed setup? WinterFlow installs, configures, and updates Manyfold for you using this same Docker Compose configuration.