E-commerce
The E-Commerce & Micro-Business Stack
A headless online store, business management (ERP) and digital contract signing — run your business without percentage fees per sale or proprietary ERP licenses.
Combined minimum RAM
~6GB
Estimated savings
Sales, ERP and contract signing with no percentage platform fees
Tools in this pack (4)
Medusa
Headless ecommerce in Node.js, an alternative to Shopify for developers.
E-commerce100% FOSS🔴 Full · ~2GB
docker-compose.yml
version: "3.9"
services:
medusa:
image: medusajs/medusa:latest
restart: unless-stopped
ports:
- "9000:9000"
environment:
- DATABASE_URL=postgres://medusa:change-me-postgres-password@medusa-db:5432/medusa # password must match the canonical db password below
- REDIS_URL=redis://medusa-redis:6379
- JWT_SECRET=change-me-super-secret
- COOKIE_SECRET=change-me-super-secret
depends_on:
- medusa-db
- medusa-redis
medusa-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=medusa
- POSTGRES_PASSWORD=change-me-postgres-password # REQUIRED: generate a random secret before first run
- POSTGRES_DB=medusa
volumes:
- medusa_pg_data:/var/lib/postgresql/data
medusa-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
medusa_pg_data:
ERPNext
Full ERP suite (accounting, inventory, CRM), an alternative to SAP Business One.
CRM & Support100% FOSS🔴 Full · ~2GB
docker-compose.yml
services:
erpnext:
image: frappe/erpnext:v15.121.6
restart: unless-stopped
ports:
- "8080:8080"
environment:
DB_HOST: erpnext-db
DB_ROOT_PASSWORD: change-me-mariadb-root-password # REQUIRED: generate a random secret before first run
ADMIN_PASSWORD: change-me-admin-password # REQUIRED: generate a random secret before first run
SITE_NAME: localhost # CHANGE THIS TO YOUR DOMAIN
volumes:
- erpnext_sites:/home/frappe/frappe-bench/sites
depends_on:
- erpnext-db
- erpnext-redis
erpnext-db:
image: mariadb:10.6
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: change-me-mariadb-root-password # must match DB_ROOT_PASSWORD above
volumes:
- erpnext_db_data:/var/lib/mysql
erpnext-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
erpnext_sites:
erpnext_db_data:
Dolibarr
Modular invoicing, accounting and stock, a lightweight alternative to QuickBooks.
CRM & SupportOpen-Core🟡 Standard · ~1GB
docker-compose.yml
services:
dolibarr:
image: dolibarr/dolibarr:24.0.0
restart: unless-stopped
ports:
- "8080:80"
environment:
DOLI_DB_HOST: dolibarr-db
DOLI_DB_NAME: dolibarr
DOLI_DB_USER: dolibarr
DOLI_DB_PASSWORD: change-me-mysql-password # REQUIRED: generate a random secret before first run
DOLI_URL_ROOT: http://localhost:8080 # CHANGE THIS TO YOUR DOMAIN
DOLI_ADMIN_LOGIN: admin
DOLI_ADMIN_PASSWORD: change-me-admin-password # REQUIRED: generate a random secret before first run
depends_on:
- dolibarr-db
dolibarr-db:
image: mariadb:10.6
restart: unless-stopped
environment:
MYSQL_DATABASE: dolibarr
MYSQL_USER: dolibarr
MYSQL_PASSWORD: change-me-mysql-password # must match DOLI_DB_PASSWORD above
MYSQL_ROOT_PASSWORD: change-me-mariadb-root-password # REQUIRED: generate a random secret before first run
volumes:
- dolibarr_db_data:/var/lib/mysql
volumes:
dolibarr_db_data:
Documenso
Electronic document signing, an open source alternative to DocuSign.
Dev ToolsOpen-Core🟡 Standard · ~1GB
docker-compose.yml
version: "3.9"
services:
documenso:
image: documenso/documenso:586b1f5cb5df9a4330a9f72b8fb6e80209005696
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NEXTAUTH_SECRET=change-me-super-secret
- NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000 # CHANGE THIS TO YOUR DOMAIN
- DATABASE_URL=postgresql://documenso:change-me-postgres-password@documenso-db:5432/documenso # password must match the canonical db password below
depends_on:
- documenso-db
documenso-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=documenso
- POSTGRES_PASSWORD=change-me-postgres-password # REQUIRED: generate a random secret before first run
- POSTGRES_DB=documenso
volumes:
- documenso_pg_data:/var/lib/postgresql/data
volumes:
documenso_pg_data: