Local Image CDN
Develop Offline with Docker
Cloud CDNs break your development flow. Work offline with identical local infrastructure. Same API endpoints, same transformations, zero internet dependency.
One Command Setup
Get a complete image CDN running locally in seconds. No configuration required.
terminal
# Start local development environmentdocker run -d \--name icefiery \-p 5100:5100 \ghcr.io/icefiery-com/icefiery:latest✓ Container started successfully✓ Ready in 5s# Services available:# Dashboard: http://localhost:5100# API: http://localhost:5100/api/v1# CDN: http://localhost:5100/res# Use predefined development API keysICEFIERY_API_KEY=private_0000000000ICEFIERY_UPLOAD_URL=http://localhost:5102/api/v1/upload-temporary-image/123456789
No dependencies, self-contained
Everything you need in one container - API, CDN, and dashboard with zero external dependencies.
Pre-configured API Keys
Development API keys are included. Start uploading and transforming images immediately without manual steps of configuration or account creation.
Ready in Seconds
Container starts in under 5 seconds. No complex setup or configuration files.
Development vs Production
Same API endpoints, different base URLs. Switch environments with a single configuration change.
Environment Configuration
config.js
// Development configurationconst config = {development: {apiUrl: 'http://localhost:5102/api/v1',cdnUrl: 'http://localhost:5103/res',publicKey: 'public_dev_key_12345'},production: {apiUrl: 'https://api.icefiery.com/v1',cdnUrl: 'https://res.icefiery.com/res',publicKey: process.env.ICEFIERY_PUBLIC_KEY}};const env = process.env.NODE_ENV || 'development';export default config[env];
Same API Calls
api.js
// Same API calls work in both environmentsimport config from './config';const uploadImage = async (file) => {const res = await fetch(`${config.apiUrl}/upload-temporary-image/upl_07c1b6044f944e6f8c160`,{headers: {'X-Original-Filename': file.name,},body: file,});const { imageUrl } = await res.json();return imageUrl;};// Image URLs work the same wayfunction ImageComponent({ imageId }) {const imageUrl = `${config.cdnUrl}/${imageId}?width=400&format=webp`;return <img src={imageUrl || "/placeholder.svg"} alt="Transformed image" />;}
Local Development
API:
localhost:5100/api/v1
CDN:
localhost:5100/res
Dashboard:
localhost:5100
Production
API:
api.icefiery.com/v1
CDN:
res.icefiery.com/res
Dashboard:
dashboard.icefiery.com
Why Local Development Matters
Develop faster and more reliably with local infrastructure that matches production.
Zero Internet Dependency
Develop completely offline. No external API calls required during development.
Production Parity
Identical API endpoints and behavior between local and production environments.
Team Consistency
Every team member runs the exact same infrastructure locally.
Faster Iteration
Test image transformations instantly without network latency or API limits.