shellhub Docker & Self-Hosted Deployment

GitHub

Computer: Get seamless remote access to any Linux device. Centralized SSH for the edge and cloud computing

RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/agent
2. Docker Run (1-Click Launch) docker run -d --name shellhub --restart always agent:${SHELLHUB_DEV_IMAGE_TAG:-latest}
3. Podman Run podman run -d --name shellhub --restart always agent:${SHELLHUB_DEV_IMAGE_TAG:-latest}
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/agent:${SHELLHUB_DEV_IMAGE_TAG
5. ORAS Pull (OCI Artifact) oras pull agent:${SHELLHUB_DEV_IMAGE_TAG:-latest}
6. Compose Deployment docker compose up -d
docker-compose.agent.yml
Download .yml
services:
  agent:
    image: agent:${SHELLHUB_DEV_IMAGE_TAG:-latest}
    restart: unless-stopped
    build:
      context: .
      dockerfile: agent/Dockerfile
      target: development
      args:
        - DOCKERHUB_MIRROR=${DOCKERHUB_MIRROR:-}
        - GOLANG_VERSION=${GOLANG_VERSION}
        - ALPINE_VERSION=${ALPINE_VERSION}
        - AIR_VERSION=${AIR_VERSION}
        - GOLANGCI_LINT_VERSION=${GOLANGCI_LINT_VERSION}
        - MOCKERY_VERSION=${MOCKERY_VERSION}
        - SHELLHUB_VERSION=latest
        - USERNAME=${SHELLHUB_DEV_AGENT_USERNAME:-shellhub}
        - PASSWORD=${SHELLHUB_DEV_AGENT_PASSWORD:-shellhub}
    network_mode: service:gateway
    environment:
      - SHELLHUB_SERVER_ADDRESS=http://${SHELLHUB_DOMAIN}
      - SHELLHUB_PRIVATE_KEY=/go/src/github.com/shellhub-io/shellhub/agent/shellhub.key
      - SHELLHUB_TENANT_ID=00000000-0000-4000-0000-000000000000
      - SHELLHUB_PREFERRED_HOSTNAME=${SHELLHUB_DEV_AGENT_NAME:-shellhub}
      - SHELLHUB_PREFERRED_IDENTITY=${SHELLHUB_DEV_AGENT_NAME:-shellhub}
      - SHELLHUB_VERSION=${SHELLHUB_VERSION}
      - SHELLHUB_LOG_LEVEL=${SHELLHUB_LOG_LEVEL}
      - SHELLHUB_LOG_FORMAT=${SHELLHUB_LOG_FORMAT}
      - SHELLHUB_PERMIT_EMPTY_PASSWORDS=${SHELLHUB_PERMIT_EMPTY_PASSWORDS}
      - SHELLHUB_TRANSPORT_VERSION=2
    volumes:
      - ./agent:/go/src/github.com/shellhub-io/shellhub/agent
      - ./pkg:/go/src/github.com/shellhub-io/shellhub/pkg
      - ./.golangci.yaml:/.golangci.yaml
    depends_on:
      server:
        condition: service_started
      gateway:
        condition: service_started
        restart: true
  gateway:
    extra_hosts:
      - "${SHELLHUB_DOMAIN}:127.0.0.1"