Docker containers for Vendure and the different storefronts
- These containers have been tested on Windows and on Linux, but they should also work on macOS.
- On Windows, PowerShell is required to run the buildscript (
build-all.ps1
) - Docker has to be installed and the docker daemon needs to run before you can execute the buildscript. In particular,
both
docker
(and subcommands) as well asdocker compose
(and subcommands) need to be available. - Some containers need to know the address of the machine on which the vendure server will run (can also be just
an IP). The buildscripts aid with this by assuming the vendure-server container will be built and run on the same
machine. However, the retrieval of the IP address of that machine is still just a heuristic at best (because you can
have multiple network interfaces in use on your machine). If the method used in the buildscripts does not yield the
correct IP address, or if you build and run on different machines, you have to replace the first line of the
buildscript with
Set-Variable HOST_IP <your-ip-address>
on Windows (build-all.ps1
)HOST_IP=<your-ip-address>
on Linux (build-all.sh
)
To build all containers (Vendure Server and all storefronts), you just need to run build-all.ps1
(on Windows)
or build-all.sh
(on Linux). The script has to be run in the root directory of this repository.
This process of using the buildscript for building all containers is most suitable if you intend to build and run all containers on the same machine.
To run all containers at once (for example, to compare storefronts), you can just open a terminal and
run docker compose up
in the root directory of this repository (or wherever docker-compose.yml
resides).
This will start up the vendure server and all storefronts as separate services (see below, Images) and also create a
docker network called vendure-network
.
The Vendure Server docker image (called vendure-server-docker
by the buildscript) is built from the Dockerfile
in /vendure-server
. It is later used to start the vendure-server
service from the compose file.
This container runs Vendure as a server application, also exposing the Admin UI.
Vendure Server will be started on port 3010, you can check if it's working by accessing http://localhost:3010/admin
(which will show you the Admin UI).
The Vendure Storefront Remix docker image (called vendure-storefront-remix-docker
by the buildscript) is built from
the Dockerfile in /vendure-storefront-remix
. It is later used to start the vendure-storefront-remix
service from the
compose file.
This container runs the Remix Storefront for Vendure as a storefront for the vendure server.
The storefront will be started on port 3000, you can check if it's working by accessing http://localhost:3000
(which
will show the storefront).
The Vendure Storefront Vue docker image (called vendure-storefront-vue-docker
by the buildscript) is built from the
Dockerfile in /vendure-storefront-vue
. It is later used to start the vendure-storefront-vue
service from the compose
file.
This container runs the Vue Storefront for Vendure as a storefront for the vendure server.
This storefront will be started on port 3001, you can check if it's working by accessing http://localhost:3001
(which
will show the storefront).
The Vendure Storefront NextJS docker image (called vendure-storefront-nextjs-docker
by the buildscript) is built from
the Dockerfile in /vendure-storefront-nextjs
. It is later used to start the vendure-storefront-nextjs
service from
the compose file.
This container runs the NextJS Storefront for Vendure as a storefront for the vendure server.
This storefront will be started on port 3002, you can check if it's working by accessing http://localhost:3002
(which
will show the storefront).
The Vendure Storefront Angular docker image (called vendure-storefront-angular-docker
by the buildscript) is built
from
the Dockerfile in /vendure-storefront-angular
. It is later used to start the vendure-storefront-angular
service from
the compose file.
This container runs the Angular Storefront for Vendure as a storefront for the vendure server.
This storefront will be started on port 3003, you can check if it's working by accessing http://localhost:3003
(which
will show the storefront).