We provide docker images on docker hub: https://hub.docker.com/r/squidex/squidex/​
squidex/squidex:latest
is the latest stable version.
squidex/squidex:vX.XX
is a specific stable version.
squidex/squidex:dev
is the latest dev version (master branch).
squidex/squidex:dex-XXXX
is a specific dev version (master branch).
To build a custom image use our multistage dockerfile. Just run:
docker build . -t my/squidex
In this paragraph $SQUIDEX
is a placeholder for the path to your local copy of the Squidex source code.
When you want to deploy to IIS or Nginx you might want to build it manually. But keep in mind that we also provide the prebuild binaries on Github:
​https://github.com/Squidex/squidex/releases​
You can then find the files under $SQUIDEX/publish
.
Run the following commands in Powershell or bash to build Squidex with docker:
# Build the imagedocker build . -t squidex-build-image -f dockerfile.build​# Open the imagedocker create --name squidex-build-container squidex-build-image​# Copy the output to the host file systemdocker cp squidex-build-container:/out ./publish​# Cleanupdocker rm squidex-build-container
Under windows just use the build.ps
script.
We recommend to give your Docker machine at least 4GB of memory.
If you don't want to use docker, you can also build it manually. The project structure has changed slightly when we migrated Squidex from .NET Core 2.X to .NET Core 3.0.
The new structure differentiates between the frontend and the backend:
This has the advantage that the code is separated and that we can using multiple contains to build them independently and make better use of caching in docker. After both, frontend and backend, have been built, you need to copy the build artifacts to a common folder. We just assume that we use $SQUIDEX/publish
for that.
To build the backend you have to run the following commands.
cd backendcd src/Squidexdotnet publish --configuration Release --output "../../../publish"
To build the frontend you have to use the following commands.
cd frontendnpm i # Install npm packagesnpm run buildcopy build "../publish/wwwroot/build"
npm inpm run build​dotnet restoredotnet publish --configuration Release --output "../../publish"
Please note that on windows to install all required build tools for node-sass you have to run
npm install --global --production windows-build-tools
from an elevated PowerShell or CMD.exe (run as Administrator).
We recommend to build Squidex with docker, because it ensures that you have a clean environment. Because of the docker layers the build is not much slower and can be even faster in some situations.