Denys Vuika ebc3111824
Sync with latest development (#139)
* Update index.html

* Update features.md

* Update header.md

* Update header.md

* Update header.md

* Add files via upload

* Update header.md

* Update header.md

* Add files via upload

* Update header.md

* Add files via upload

* Add files via upload

* Update header.md

* Add files via upload

* Delete sid-nav.png

* Add files via upload

* Update side-nav.md

* Add files via upload

* Update side-nav.md

* Update side-nav.md

* Update doc-list.md

* Add files via upload

* Update doc-list.md

* Update doc-list.md

* Delete doclist.png

* Add files via upload

* small changes to docs

* [ACA-1038] 'Load more' doesn't work correctly on destination picker (#135)

made sure that a search is performed only if there is a search string to search for

* [ACA-951] Color theme and logo (#138)

- documented customization of the logo and header background color
2017-12-13 17:39:14 +00:00

3.6 KiB

Using with Docker

This article assumes you are familiar with Docker and know how to create images and containers.

You can create a Docker image to run Alfresco Content App in the container.

Building from source code

You need to run the following commands to build the project from the source code:

npm install
npm run build

That produces a build in the "dist" folder that you can use with a Docker image.

Also, you may need to update the `dist/app.config.json` file with the settings relevant to your scenario.

Creating an image

The Content Application provides a "Dockerfile" file in the repository root. You can build the image with the following command:

docker image build -t content-app .

Running image in a container

To run the image locally, you can use the following command:

docker container run -p 80:80 --rm content-app

Navigate to "http://localhost" to access the running application.

Docker Compose file

You can also use the "docker-compose" file for local development and testing. To build and run a container run the following command in the root project folder:

docker-compose up

To perform a cleanup operation, use the next command:

docker-compose down --rmi all

Navigate to "http://localhost:3000" to access the running application.

Please keep in mind that you should manually build the project every time you want to publish the image or run it locally with the container.

Using with local ACS setup

If you run ACS at port 8080 as a Docker container (typical development configuration), you can use the following command to build the project before creating an image:

npm run build:dev

The command above updates the "dist/app.config.json" file to point the Content App to "http://localhost:8080" upon startup. Alternatively, you can change the configuration file manually before generating an image.

So, the development workflow, in this case, is going to be:

npm run build:dev
docker-compose up

Navigate to "http://localhost:3000" to access the running application.

To perform a cleanup operation, use the next command:

docker-compose down --rmi all

Publishing to Docker Hub

First of all, if you do not have a Docker Hub account, you can register here: https://hub.docker.com/, the registration is absolutely free.

Next, it is recommended that you get a clean build of the application:

npm install
npm run build:dev

The commands above are going to produce a fresh build that is stored in the dist folder. At this point, you can make modifications to the final code in the dist folder if needed. For example you may want to change the app.config.json file content.

Now you can build your first version of the image:

docker image build -t myaccount/content-app:1.0 .

Where myaccount is usually your Docker Hub account name.

Please note the ending "." symbol at the end of the command. It instructs the Docker to take current folder where the `Dockerfile` is located.

To publish the newly created image use the next command:

docker push myaccount/content-app:1.0

Running from Docker Hub

To quickly test the published image, or run it on another machine, use the following command:

docker container run -p 80:80 --rm myaccount/content-app:1.0

The --rm switch means the Docker will cleanup the container and image data once you stop the process.

You may also want to remove your local image before trying out the Docker Hub:
`docker image rm myaccount/content-app:1.0`