Sign inSign up

grandnode/grandnode2

By grandnode

•Updated about 8 hours ago

Free and Open Source E-Commerce Platform on .NET Core 10.0 and MongoDB, CosmosDB, DocumentDB, LiteDB

Image
Content management system
2

100K+

grandnode/grandnode2 repository overview

⁠GrandNode

Open-source e-commerce platform built on ASP.NET Core (.NET 10) and MongoDB. B2B, B2C, multi-store, multi-vendor, multi-language and multi-currency — in a single container.

⁠Tags

TagBuilt fromUse it for
latestmain branchthe current stable release
2.4.x, 2.3.x, …release branchpinning a release line — recommended for production

Nightly builds of the develop branch are published separately as grandnode/develop⁠. They may be unstable.

Images are built for linux/amd64.

⁠Quick start

GrandNode needs a MongoDB server (4.0 or newer). The quickest way is to run both on one Docker network:

docker network create grandnode

docker run -d --name mongo --network grandnode \
  -v grandnode_db:/data/db \
  mongo

docker run -d --name grandnode --network grandnode -p 80:8080 \
  -v grandnode_appdata:/app/App_Data \
  -v grandnode_images:/app/wwwroot/assets/images \
  grandnode/grandnode2:latest

Open http://localhost⁠ and complete the installation wizard. As the MongoDB connection string use:

mongodb://mongo:27017/grandnode

Tick install sample data if you want a ready-to-browse demo store.

⁠Docker Compose

services:
  mongo:
    image: mongo
    restart: unless-stopped
    volumes:
      - grandnode_db:/data/db

  grandnode:
    image: grandnode/grandnode2:latest
    restart: unless-stopped
    depends_on:
      - mongo
    ports:
      - "80:8080"
    volumes:
      - grandnode_appdata:/app/App_Data
      - grandnode_images:/app/wwwroot/assets/images

volumes:
  grandnode_db:
  grandnode_appdata:
  grandnode_images:

⁠Container reference

Port8080 (HTTP)
Usernon-root app
/app/App_Datasettings (appsettings.json), installation state, data-protection keys — persist it, or the store asks to be installed again after the container is recreated
/app/wwwroot/assets/imagesuploaded product and content images — persist it

⁠Configuration

Every setting in App_Data/appsettings.json can be overridden with an environment variable, using __ (double underscore) as the section separator:

-e ConnectionStrings__Mongodb="mongodb://mongo:27017/grandnode"
-e Security__UseForwardedHeaders=true

Behind a reverse proxy (nginx, Traefik, a cloud load balancer) that terminates TLS, set Security__UseForwardedHeaders=true so GrandNode generates correct https:// URLs.

⁠Features

  • Multi-store, multi-vendor and multi-tenant from one installation
  • B2B and B2C: customer groups, tier prices, sales employees, approvals
  • Multi-language and multi-currency storefront
  • Storefront themes, widgets and a plugin system for payments, shipping, tax and discounts
  • REST API for integrations
  • Admin panels for the platform owner, store owners and vendors

⁠License

GrandNode is licensed under the GNU GPL v3⁠.

Tag summary

Content type

Image

Digest

sha256:8893bb49a…

Size

179.5 MB

Last updated

about 2 months ago

docker pull grandnode/grandnode2