A guide to Vue Storefront and Spree deployment
Night Mode

Introduction
Vue Storefront is a next generation frontend for headless e-commerce. Our team recently delivered an out-of-the-box integration between Spree and Vue Storefront, which bridges these two great open source tools.
Compared to traditional monolithic applications, deploying a headless frontend introduces a bit of infrastructure complexity.
Let's take a look at available options.
Deploying to Heroku
Heroku is the simplest way to deploy Spee + Vue Storefront for simple, less demanding needs.
To deploy, just create a new application and connect it to your repository.
Then, go to application's setting and set the following env variables:
HOST -> 0.0.0.0
NODE_ENV -> production
BACKEND_URL -><https://example.com> (put your backend address here)After that, you will need to restart the dynos for the changes to take effect. And that's it!
Deploying to a container service (e.g. AWS ECS of GKE)
The easiest way to deploy Vue Storefront Spree integration to modern cloud providers is to create a docker image containing your frontend. To do that, you'll need to create two files:
Dockerfile
FROM node:14.15
WORKDIR /app
ADD . /app/
RUN chmod +x docker-entrypoint.sh
RUN yarn
ENV NODE_ENV production
EXPOSE 3000
CMD './docker-entrypoint.sh'The docker file is quite standard for nuxt deployments - it copies the code to docker image, installs dependencies and runs docker-entrypoint.sh
#!/bin/sh
yarn build
yarn start --hostname 0.0.0.0The entrypoint file runs nuxt's build process and starts its server. yarn build can be moved to Dockerfile if you don't need dynamic env variables (Spree-VSF uses it for example to configure backend url dynamically). This way you'll speed up the process of spinning up new containers, but you'll lose the ability to reuse the same image for multiple endpoints (e.g. staging and production).
After these files are in place, you can simply run:
docker build . -t vsf-app:latest
docker tag vsf-app:latest xxxx.dkr.ecr.eu-west-2.amazonaws.com:latest
docker push xxxx.dkr.ecr.eu-west-2.amazonaws.com:latestwhere [xxxx.dkr.ecr.eu-west-2.amazonaws.com](<http://xxxx.dkr.ecr.eu-west-2.amazonaws.com>) is your ECR repository address.
After that, you can run the instance on ECS or GKE using the web console and connect it to load balancer. Remember to set BACKEND_URL env variable.
Deploying directly to Linux host
Alternatively, you can deploy Vue Storefront directly to e.g. EC2 instance. To do that, follow the official guidelines of Nuxt.js for production deployment here
Summary
Vue Storefront brings Spree-based stores to a whole new level. The effort to raise the complexity of the deployment will quickly pay off by enabling new customer experiences and making development more efficient.
If you're looking for support in migrating to Vue Storefront, don't hesitate to contact us!
Explore More Blog Posts

What is an agentic AI system for e-commerce?
An agentic AI system for e-commerce is software that autonomously plans and executes multi-step tasks across your commerce stack - from product discovery to order processing - without step-by-step human instruction. It uses large language models (LLMs) to reason, decide, and act on your behalf, grounded in your own product data.

Field notes from HIMSS Europe 2026 in Copenhagen
My smartwatch knows more about my body on an average Tuesday than my hospital does. It tracks how I slept, how hard my heart worked on a run, whether I am trending in the wrong direction before I feel anything at all. The institution with the doctors, the scanners and a century of clinical knowledge mostly meets me when something has already gone wrong.

How AI is Replacing Us (and Reinventing) the Way We Work as a Software Consultancy
Earlier this year, I got a message. “You have to check out Claude. Look what I’ve been able to do in a couple of hours”. What followed was a link to something that, frankly, should have taken a few days to put together.