Building
How to Build Squidex Using Docker or Manually
squidex/squidex:latest
(the latest stable version).squidex/squidex:vX.XX
(a specific stable version).squidex/squidex:dev
(the latest dev version - master branch).squidex/squidex:dev-XXXX
(a specific dev version - master branch).
To build a custom image, use the multistage
Dockerfile
and simply run the following command:docker build . -t my/squidex
When you want to deploy to IIS or NGINX you may prefer to build manually. Note that we also provide prebuilt binaries on GitHub, link below:
You will find the built files under
$SQUIDEX/publish
.$SQUIDEX
is a placeholder for the path to your local copy of the Squidex source code.Run the following commands in PowerShell or bash to build Squidex with Docker:
# Build the image
docker build . -t squidex-build-image
# Create the container
docker create --name squidex-build-container squidex-build-image
# Copy the output to the host file system
docker cp squidex-build-container:/app/. ./publish
# Cleanup
docker rm squidex-build-container
docker rmi squidex-build-image
Alternatively, we also provide a script file (containing these commands) for both Windows and Linux.
For Windows, use the
build.ps1
script.For Linux, use the
build.sh
script.We recommend giving the Docker machine at least 4GB of memory.
If you don't want to use Docker, you can also build manually.
The current structure differentiates between the frontend and the backend.

Project structure
The advantage is that the code is separated, so you can use multiple contains to build them independently, this makes better use of caching in Docker. After building frontend and backend, copy the build artifacts to a common folder. You can use
$SQUIDEX/publish
for this step.To build the backend, run the following commands.
cd backend
cd src/Squidex
dotnet publish --configuration Release --output "../../../publish"
To build the frontend, run the following commands.
cd frontend
npm i # Install npm packages
npm run build
copy build "../publish/wwwroot/build"
Very old versions that still work with .NET Core 2.0 have a different structure. Therefore the build process is slightly different. For most people this version is not relevant anymore.
npm i
npm run build
dotnet restore
dotnet publish --configuration Release --output "../../publish"
Please note, on Windows you must run PowerShell or CMD.exe in elevated mode (Run as Administrator) to install the required build tools for
node-sass
.npm install --global --production windows-build-tools
We recommend building Squidex with Docker, because it ensures a clean environment. Due to Docker layers, the build isn't much slower and in some cases, it can actually be quicker.
Last modified 5mo ago