octopuslabs/tentacle-worker

Verified Publisher

By Octopus Deploy

Updated over 4 years ago

Image
0

500K+

octopuslabs/tentacle-worker repository overview

Docker Linux Tentacle

This is a sample Linux-based Docker image that houses a tentacle for Octopus Deploy. This includes common software used by the majority of our users for workers. It is based on the base tentacle image.

  • wget
  • unzip
  • apt-utils
  • curl
  • software-properties-common
  • PowerShell Core
  • Octopus Client
  • Octopus Deploy CLI
  • python
  • groff
  • az modules
  • azure cli
  • jdk
  • maven
  • gradle
  • gcp cli
  • aws cli
  • eks cli
  • ecs cli
  • aws IAM authenticator
  • openssh-client
  • git
  • kubectl
  • terraform
  • nodejs
  • helm
  • istio
  • linkerd
  • skopeo

If you are going to create a custom image, don't use this one, use the base image instead.

This docker image is provided as is

This docker image was created by the Octopus Advisory Team as an example for our users so they could build their own docker images. It is used internally and it should work for 99% of your use cases, it is not officially supported. Please do not contact support if you run into issues with this image.

Docker Image information

The docker container has a few self-imposed limitations.

  1. Only one tentacle instance allowed.
  2. Can either be a target OR a worker. It cannot be both.

Environment variables

  • SERVER_API_KEY: The API Key of the Octopus Server the Tentacle should register with.
  • SERVER_USERNAME: If not using an api key, the user to use when registering the Tentacle with the Octopus Server.
  • SERVER_PASSWORD: If not using an api key, the password to use when registering the Tentacle
  • SERVER_URL: The Url of the Octopus Server the Tentacle should register with.
  • TARGET_WORKER_POOL: Comma-delimited list of worker pools to add to this target to. Not needed if this container will be a target. If set then the container will be registered as a worker.
  • REGISTRATION_NAME: Optional Target name, defaults to host.
  • SERVER_PORT: The port on the Octopus Server that the Tentacle will poll for work. Defaults to 10943.
  • LISTENING_PORT: The port that the Octopus Server will connect back to the Tentacle with. Defaults to 10933.
  • SPACE: The name of the space to register the tentacle with. Default is Default.
  • COMMUNICATION_TYPE: Whether you are using polling tentacles or listening tentacles. Default is Polling.
  • MACHINE_POLICY_NAME: The name of the machine policy to associate the container with. Defaults to Default Machine Policy.
  • ACCEPT_EULA: You must accept the Octopus Deploy EULA.

Ports

  • 10933: Port tentacle will be listening on (if in listening mode).

Examples

Here are some examples to help get you started using the tentacle

Docker Compose - Polling Worker

.ENV File

OCTOPUS_LINUX_TENTACLE=octopuslabs/tentacle:latest
ACCEPT_OCTOPUS_EULA=Y
OCTOPUS_SERVER_URL=https://yoururltooctopus.com
OCTOPUS_SERVER_API_KEY=YOUR API KEY
OCTOPUS_WORKER_POOL="DEMO WORKER POOL"
OCTOPUS_TARGET_NAME=DockerWORKER-01

docker-compose.yml file

version: '3'
services:  
  octopusworker:
    image: ${OCTOPUS_LINUX_TENTACLE}
    privileged: true
    environment:
      ACCEPT_EULA: ${ACCEPT_OCTOPUS_EULA}
      SERVER_URL: ${OCTOPUS_SERVER_URL}
      SERVER_API_KEY: ${OCTOPUS_SERVER_API_KEY}            
      TARGET_WORKER_POOL: ${OCTOPUS_WORKER_POOL}            
      REGISTRATION_NAME: ${OCTOPUS_TARGET_NAME}

Tag summary

Content type

Image

Digest

Size

1.4 GB

Last updated

over 4 years ago

docker pull octopuslabs/tentacle-worker