Public Docker images for Apify Actor serverless platform (https://docs.apify.com/actor)
The sources for the images are present in subdirectories that are named as the corresponding
Docker image. For example, the node
directory corresponds to the
apify/actor-node Docker image.
The images are using the following tags:
Tag | Description |
---|---|
latest |
Well-tested production version of the image. |
beta |
Development version of the image. |
In order to build and publish a new version of the Docker images, open the Actions tab and find the Release Images workflow. You can then run the workflow by providing the following inputs:
apify
package that should be pre-installed in the images.puppeteer
package that should be pre-installed in the images that use Puppeteer.To create a new image, which is not yet published in Apify DockerHub organization. You need access to the organization and rights to create a new repository. After, you need to follow these steps:
Create a new folder with the same name as the package you want to create without the prefix actor-
.
For image apify/actor-node
, create folder node
.
Create a source of the image in that folder. Remember to create a test that is runnable using docker run to be able to test in the image in CI/CD.
Create a new repository in the Apify DockerHub organization, use the name with actor-
prefix, e.g. apify/actor-node
.
Give permission Read & Write to create image for devs groups in the Apify DockerHub organization.
Create a GitHub workflow which builds, tests and publishes the image into the DockerHub.
You will need the following tools installed: docker, make, jq, git
Clone this repository
Run make all
to test out all images (this will take a long while, be patient).
You can overwrite the node version you build the images for by specifying NODE_VERSION=xx
environment variable.
You can overwrite the playwright version you build the images for by specifying PLAYWRIGHT_VERSION=vx.x.x-
environment variable. You must respect the format of v<full-semver-version>-
You can overwrite the puppeteer version you build the images for by specifying PUPPETEER_VERSION=x.x.x
environment variable. You must respect the format of <full-semver-version>
make <test name>
. Run make what-tests
to see what tests are available.