Free and Open Source E-Commerce Platform on .NET Core 10.0 and MongoDB, CosmosDB, DocumentDB, LiteDB
100K+
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.
| Tag | Built from | Use it for |
|---|---|---|
latest | main branch | the current stable release |
2.4.x, 2.3.x, … | release branch | pinning 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.
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.
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:
| Port | 8080 (HTTP) |
| User | non-root app |
/app/App_Data | settings (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/images | uploaded product and content images — persist it |
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.
GrandNode is licensed under the GNU GPL v3.
Content type
Image
Digest
sha256:8893bb49a…
Size
179.5 MB
Last updated
about 2 months ago
docker pull grandnode/grandnode2