Skip to content

Deploying ResourceSpace

Introduction

ResourceSpace is a powerful open-source digital asset management (DAM) system designed to help organizations organize, catalog, and share their digital media. From marketing teams managing brand assets to museums archiving collections, ResourceSpace provides enterprise-grade functionality without enterprise pricing.

Key highlights of ResourceSpace:

  • Digital Asset Management: Organize images, videos, documents, and any digital files
  • Metadata Management: Extensive custom metadata fields and tagging
  • Advanced Search: Full-text search with filters and saved searches
  • Collections: Create and share curated collections of assets
  • User Permissions: Granular access control for users and groups
  • Workflow Support: Approval workflows and asset lifecycle management
  • API Integration: RESTful API for custom integrations
  • Batch Processing: Upload and edit multiple assets at once
  • Preview Generation: Automatic thumbnails and previews for various file types
  • Multi-Language: Available in over 25 languages
  • Open Source: GPL-licensed with no per-user fees

This guide walks through deploying ResourceSpace on Klutch.sh using Docker, configuring storage, and setting up your asset library.

Why Deploy ResourceSpace on Klutch.sh

Deploying ResourceSpace on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically builds and deploys ResourceSpace without complex LAMP stack configuration.

Persistent Storage: Attach persistent volumes for your asset library that can scale with your collection.

HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure asset sharing.

Environment Variable Management: Securely store database credentials through Klutch.sh.

Custom Domains: Assign a custom domain for professional brand asset portals.

Prerequisites

Before deploying ResourceSpace on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your ResourceSpace configuration
  • An external MySQL/MariaDB database
  • Basic familiarity with Docker

Preparing Your Repository

Create a GitHub repository containing your Dockerfile for ResourceSpace deployment.

Repository Structure

resourcespace-deploy/
├── Dockerfile
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM resourcespace/resourcespace:latest
# Environment variables for database
ENV RESOURCESPACE_DB_HOST=${RESOURCESPACE_DB_HOST}
ENV RESOURCESPACE_DB_USER=${RESOURCESPACE_DB_USER}
ENV RESOURCESPACE_DB_PASS=${RESOURCESPACE_DB_PASS}
ENV RESOURCESPACE_DB_NAME=${RESOURCESPACE_DB_NAME:-resourcespace}
# Set base URL
ENV RESOURCESPACE_BASEURL=${RESOURCESPACE_BASEURL}
# Create necessary directories
RUN mkdir -p /var/www/html/filestore \
&& chown -R www-data:www-data /var/www/html/filestore
# Expose the web interface port
EXPOSE 80
# The base image includes the default entrypoint

Environment Variables Reference

VariableRequiredDescription
RESOURCESPACE_DB_HOSTYesMySQL/MariaDB host address
RESOURCESPACE_DB_USERYesDatabase username
RESOURCESPACE_DB_PASSYesDatabase password
RESOURCESPACE_DB_NAMENoDatabase name (default: resourcespace)
RESOURCESPACE_BASEURLYesPublic URL (e.g., https://your-app.klutch.sh)

Deploying ResourceSpace on Klutch.sh

    Push Your Repository to GitHub

    Commit and push your Dockerfile to GitHub.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project with a descriptive name like “resourcespace” or “dam”.

    Create a New App

    Within your project, create a new app. Connect your GitHub account and select the repository containing your ResourceSpace Dockerfile.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 80

    Set Environment Variables

    Add the following environment variables:

    VariableValue
    RESOURCESPACE_DB_HOSTYour MySQL host
    RESOURCESPACE_DB_USERYour database user
    RESOURCESPACE_DB_PASSYour database password
    RESOURCESPACE_DB_NAMEresourcespace
    RESOURCESPACE_BASEURLhttps://your-app.klutch.sh

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /var/www/html/filestore100+ GBAsset storage (size based on collection)
    /var/www/html/include1 GBConfiguration files

    Deploy Your Application

    Click Deploy to start the build process.

    Access ResourceSpace

    Once deployment completes, access ResourceSpace at your app URL to complete the setup wizard.

Initial Configuration

Setup Wizard

The first-time setup wizard will guide you through:

  1. Database connection verification
  2. Administrator account creation
  3. Basic system configuration

Configuring Resource Types

  1. Navigate to Admin > System > Resource Types
  2. Create resource types for your asset categories
  3. Configure metadata fields for each type

Setting Up User Groups

  1. Go to Admin > System > User Groups
  2. Create groups based on access needs
  3. Configure permissions for each group

Uploading Assets

  1. Click Upload in the main navigation
  2. Select files or drag and drop
  3. Fill in metadata during upload
  4. Assets are processed and thumbnails generated automatically

Additional Resources

Conclusion

Deploying ResourceSpace on Klutch.sh gives you a powerful digital asset management system with automatic builds, scalable storage, and secure HTTPS access. Whether managing marketing materials, creative assets, or archival collections, ResourceSpace on Klutch.sh provides enterprise DAM capabilities without the enterprise complexity.