Skip to main content

Hosting Static Files in a CDN

Frontend static resources, such as .js and .css files, are located in web/build/static/. If you wish to deploy these files in a public cloud's CDN service, Casdoor provides a script that simplifies the deployment process. Please follow the steps below.


We assume that you have already built the frontend code of Casdoor. If you have not, please refer to the documentation.


First, you need to create a valid Storage Provider in the Casdoor UI. You can refer to the example.


When filling in the Domain field, be sure to end it with a '/'. storage_domian


The script can be found at deployment/deploy_test.go.

In deploy_test.go, you need to modify the id parameter in GetProvider(). The format of the provider id is <owner>/<name>.

func TestDeployStaticFiles(t *testing.T) {
provider := object.GetProvider("admin/provider_storage_aliyun_oss")

After making the necessary modification, use the following commands to run the script:

cd deployment
go test

If the execution is successful, you will see:

ok 2.951s

How it works

The script will:

  • Upload all the files in the css/ and js/ folders to the CDN service specified by the storage provider.
  • Replace all the URLs of the .css and .js files in web/build/index.html with the URLs hosted in the CDN.

You still need to keep the index.html file. After the static files are uploaded to the CDN, index.html will still be requested by users through Casdoor's Go backend, and the static files in the CDN will be requested through the URLs provided in index.html.