Deployment Guide
This guide covers deploying the CoCore application on your own infrastructure or in the cloud. We provide several options to fit your organization's needs, from simple single-server setups to globally distributed cloud environments.
If you need help choosing the right option, please contact our support team.
On-Premise vs. Cloud: What's Right for Your PSP?
Choosing between on-premise and cloud hosting is a critical decision. For most Print Service Providers (PSPs), an on-premise deployment is the recommended starting point.
PSPs often handle very large files (e.g., high-resolution artwork, print-ready PDFs), which can quickly saturate an internet connection. Since most facilities operate with a single primary internet uplink, sending this data to and from the cloud can create significant bottlenecks, slowing down both your internal network and external-facing services.
By keeping your CoCore instance on-premise, you leverage your high-speed local network for these data-intensive tasks, ensuring maximum performance and reliability without impacting your internet bandwidth. Cloud options are best suited for organizations with robust, multi-gigabit fiber connections or for specific use cases like off-site backups and global data federation.
Deployment Options at a Glance
| Option | Best For | Technical Expertise Required | Scalability |
|---|---|---|---|
| Docker Compose | Dev/Sandbox, light production | Low | Single Host |
| Kubernetes | Robust, resilient production infrastructure | Medium to High | Multi-Host/Cluster |
| Bring Your Own Cloud (BYOC) | Integrating with existing cloud accounts (AWS, GCP, Azure) | High (Cloud & K8s) | Cloud-Native |
| Managed Hosting | Organizations preferring a hands-off approach | None | Fully Managed |
1. On-Premise Deployment
a) Docker Compose
Ideal for Development, Sandbox Environments, and light production usage.
This is the simplest way to get CoCore running. A single server runs the Docker platform, and a docker-compose.yaml file defines all the necessary services. You can go from a bare server to a working CoCore instance in under 5 minutes.
While this approach is fast and efficient for a single host, it does not scale beyond that, making it less suitable for high-availability production workloads.
Hardware Planning
CoCore's resource requirements depend heavily on your use case. A simple data lake for a small PSP will primarily need storage, while a compute-heavy workflow platform will require more CPU and RAM.
Storage performance is critical. NVMe storage is strongly recommended over traditional HDDs, as it significantly reduces CPU and RAM overhead.
Here are our baseline recommendations:
| Usage Tier | vCPU / Cores | RAM | Recommended Storage |
|---|---|---|---|
| Dev/Sandbox | 2+ | 4GB+ | 20GB+ |
| Production (Data Lake) | 4+ | 8GB+ | 80GB+ |
| Production (Data Heartbeat) | 8+ | 16GB+ | 160GB+ |
Requirements
- A server (Linux, Windows, or macOS; ARM or x86) with Docker installed.
- Outbound network access for any required external services (e.g., CoCloud).
- A designated location for storing backups.
b) Kubernetes
Ideal for robust, scalable, and resilient production infrastructure.
For production setups, we recommend a replicated, clustered model using Kubernetes. We provide Kubernetes manifests to deploy a complete, resilient CoCore environment with automated operations.
Our deployment automatically sets up:
- The application with self-healing, automatic updates, and optional auto-scaling.
- A resilient, replicated database with live failover and seamless upgrades.
Cluster Planning
You will need a Kubernetes cluster. If you don't have one, you can create one on dedicated physical servers (for maximum performance) or on existing virtual machine infrastructure (for flexibility). A minimum of three host nodes is recommended for resilience.
We recommend k0s or microk8s for straightforward cluster setup. Your IT team should be comfortable administering the cluster. Expanded support plans are available if you require assistance.
Minimum Cluster Requirements
| Resource per Node | Minimum Requirement |
|---|---|
| Nodes | 3 |
| vCPU / Cores | 4 per node |
| RAM | 8GB per node |
| Storage | 80GB per node |
This baseline is sufficient for a standard production deployment, but large-scale processing will require more resources.
2. Cloud Deployment
c) BYOC - Bring Your Own Cloud
Integrate CoCore directly with your existing AWS, GCP, or Azure account.
We use Kubernetes to deploy CoCore into your own cloud infrastructure, allowing it to seamlessly integrate with your other cloud resources. This approach utilizes your provider's managed Kubernetes service (EKS, GKE, AKS) and configures auto-scaling to match your workload.
After initial setup, the infrastructure runs under your full control, and resource usage is billed directly through your cloud provider.
d) Managed Dedicated Hosting
A fully hands-off, managed solution for your peace of mind.
For organizations that prefer not to manage infrastructure, we offer dedicated hosting. This includes:
- A dedicated and secure Virtual Private Cloud (VPC).
- High-performance servers in a region of your choice.
- 24/7 monitoring and maintenance.
- Automatic updates and security patches.
- Point-in-Time Recovery (PITR) for data.
- SLA-backed uptime guarantees.
- Optional features like failover regions and data federation for low-latency global access.
Available Locations
- Amsterdam, Netherlands
- Chicago, USA
- Frankfurt, Germany
- Helsinki, Finland
- London, UK
- Madrid, Spain
- New York City, USA
- San Jose, USA
- Singapore
- Stockholm, Sweden
- Sydney, Australia
- Warsaw, Poland
Next Steps
Ready to get started? Contact our sales team for pricing, setup details, or to discuss which deployment option is right for you.