Creating a custom channel for Rendered.ai is a Python-based development task. The channels are Docker containers and the development process is simplified by Rendered.ai maintained Development Containers that can be used with VSCode's Remote-Containers extension. This document will take you through installing Docker and the VSCode Remote-Containers extension so you can begin channel development on your local machine.

This process has been tested on several Linux distributions and Windows 11 with WSL2, there have been reported issues with M1 Macbooks – if you do have issues we recommend using Remote Development with AWS EC2 for a better experience.

If you run into any issues, we recommend you contact Rendered.ai through the Platform under Contact Us or email bugs@rendered.ai.

Installing Docker

To install Docker for you local machine, follow the official installation instructions at https://docs.docker.com/engine/install/.

After installing, we recommend running the hello-world test command to ensure Docker is running as expected. The following command will pull a test Docker image and print out hello world message.

docker run hello-world
CODE

Successful Test of Docker Engine

Installing VSCode and Extensions

Visual Studio Code is free code editor that allows users to install extensions from an extension marketplace. The Rendered.ai Development Environment uses several extensions from the marketplace to simplify the developer experience. VSCode can be installed by following the official installation guide at https://code.visualstudio.com/Download.

Extension Marketplace

To reach the Extension Marketplace, click the Extensions symbol on the left-hand side of the window.

Next we’ll install two extensions: Docker and Remote-Containers. The Docker extensions can be helpful in seeing the Docker images and Docker containers that are currently running. The Remote-Containers allows using the Docker container as a full-featured development environment from within VSCode – this helps ensure that the environment we are developing in is as close as possible to what gets deployed to the platform.

After we have the extensions installed, we are ready to pull the code and start our development.

Testing Remote-Containers

We recommend following the https://dadoes.atlassian.net/wiki/spaces/DG/pages/1614676036/Running+and+Deploying+the+Example+Channel tutorial to ensure your development environment is configured correctly. This will take you through cloning Rendered.ai’s Example channel, starting the Development Container then testing the execution of the channel.

Troubleshooting

Here we have compiled a list of common issues users may run into while configuring their development environment.

Allow your non-root user to execute docker

When starting the Development Container in VSCode the following message may appear.

This is due to VSCode having insufficient permissions to access the docker daemon on your behalf. You will need to ensure that the user has access to the docker daemon, on Linux operating systems you can add the current user to the docker group.

sudo groupadd docker;
sudo usermod -aG docker $USER
CODE

Important: Log out and log back in again to refresh group membership.