Quick Start for Actor Creation
No credit card required
Quick Start for Actor Creation
No credit card required
Contains a basic boilerplate of an Apify actor with Node.js source code and a custom Dockerfile. The purpose of this actor is to help you get started quickly to create your own actors.
Do you want to learn more about this Actor?
Get a demoThis is a simple Apify actor that serves as a basic boilerplate. It has a Node.js source code, custom Dockerfile and it's hosted in a Git repository. Feel free to copy this actor, modify it and use it in your own actors.
Are you missing anything? Something not clear? Please let us know at support@apify.com
To run the actor in your local environment, simply run the following commands:
1npm install 2npm run start
Alternatively, if you have Apify CLI installed, you can start the actor by running:
apify run
In order to test the build of the Docker image, you can run:
docker build ./
On success, the command will print something like:
1... 2Removing intermediate container 22915a918e4c 3Step 6/6 : CMD node main.js 4 ---> Running in 7288f9a12cf0 5 ---> 0d82ea8a648d 6Removing intermediate container 7288f9a12cf0 7Successfully built XYZ
After that you can run the built Docker image locally using:
docker run XYZ
Where XYZ
is ID of the Docker image built in the previous step.
If there is any problem with the built image, you might try troubleshooting it by starting the container in interactive mode using:
docker run -it XYZ /bin/bash
Note that this requires a base Docker image that contains bash or some other interactive shell.
.gitignore
Specifies files and directories that shouldn't be included in the Git repository.
apify.json
The file is used by Apify CLI
and it contains information linking your local source code directory with the
actor on the Apify platform.
You only need this file if you want to run commands such as apify run
or apify push
.
Dockerfile
Contains instructions how to build a Docker image that will contain all the code and configuration needed to run your actor. For more information, see Dockerfile reference.
INPUT_SCHEMA.json
Defines schema for the actor input. It is used by the Apify platform to automatically check the input for the actor and to generate a user interface to help users of your actor to run it. For more information, see Input Schema documentation.
main.js
The main Node.js source code of your actor.
It is referenced from the scripts
section of the package.json
file,
so that it can be started by running npm start
.
package.json
The file is used by NPM to maintain metadata about the Node.js source code, such as the list of dependencies. For details, see NPM documentation.
README.md
Contains a Markdown documentation what your actor does and how to use it, which is then displayed in the app or library. It's always a good idea to write a good README.md, in a few months not even you will remember all the details about the actor.
apify_storage
This directory contains data from
Apify SDK storages
during local development, such as the key-value stores,
datasets and request queues.
Typically you don't want to have the apify_storage
directory in Git repo,
but in this boilerplate we keep the INPUT.json
file in Git
for documentation purposes.
When running the actor on the Apify platform, the actor is automatically assigned
a key-value store that is used to store actor's input, output or any other data.
The apify_storage/key_value_stores/default
directory is used to emulate this store
during the local development of your actor.
The files in the directory represent the records in the key-value store: the name
of each file corresponds to its key and the content to the value.
For example, calling Apify.getValue('INPUT')
will return the content
of the apify_storage/key_value_stores/default/INPUT.json
file parsed as JSON. Similarly, calling
Apify.setValue('OUTPUT', ...)
will write a file to apify_storage/key_value_stores/default/OUTPUT.json
.
For more information, see the Getting Started tutorial of the Apify SDK.
Actor Metrics
1 monthly user
-
4 stars
>99% runs succeeded
Created in Oct 2017
Modified 5 months ago