docker

Run AI agents in local

ollama + hermes + docker

Run AI agents in local

  • ai agents
  • docker
  • makefile
# current model
AGENT_MODEL = glm-4.7-flash
# persistent data directory
AGENT_DIR = ./llm-agent
# container name
AGENT_CONTAINER = my-agent

# models by GPU: https://www.morphllm.com/best-ollama-models#vram-cheat-sheet
# all models: https://ollama.com/search?c=cloud
# example:
# - qwen3-coder (18Gb VRAM)
# - glm-4.7-flash (24Gb RAM/VRAM/unified)
agent-install: ## Install local AI agent
	@mkdir -p $(AGENT_DIR)/ollama
	@mkdir -p $(AGENT_DIR)/hermes
	@docker run -d \
		--gpus=all \
		-v $(AGENT_DIR)/ollama:/root/.ollama \
		-v $(AGENT_DIR)/hermes:/root/.hermes\
		-v $(shell pwd):/home/ubuntu/project \
		--name $(AGENT_CONTAINER) \
		ollama/ollama
	@until docker exec $(AGENT_CONTAINER) ollama list > /dev/null 2>&1; do sleep 1; done
	@echo "✅ ollama installed"
	@docker exec $(AGENT_CONTAINER) ollama pull $(AGENT_MODEL)
	@until docker exec $(AGENT_CONTAINER) ollama list > /dev/null 2>&1; do sleep 1; done
	@echo "✅ model $(AGENT_MODEL) installed"
	@docker exec $(AGENT_CONTAINER) apt update
	@docker exec $(AGENT_CONTAINER) apt install curl git xz-utils -y
	@echo "✅ hermes dependencies installed"
	@-docker exec $(AGENT_CONTAINER) ollama launch hermes --model $(AGENT_MODEL) -y
	@docker exec $(AGENT_CONTAINER) /bin/bash -c "/root/.local/bin/hermes config set terminal.cwd /home/ubuntu/project"
	@echo "✅ hermes project configured"
	@docker exec -it $(AGENT_CONTAINER) ollama launch hermes --model $(AGENT_MODEL) -y
	@docker stop $(AGENT_CONTAINER)

agent: ## Run local AI agent
	@-docker start $(AGENT_CONTAINER)
	@-docker exec -it $(AGENT_CONTAINER) ollama launch hermes --model $(AGENT_MODEL) -y
	@-docker stop $(AGENT_CONTAINER)

agent-uninstall: ## Unistall all files but keep the image
	@-docker stop $(AGENT_CONTAINER)
	@-docker rm $(AGENT_CONTAINER)

Run AI agents in local

  • ai agents
  • docker
  • makefile
Windows VM

Windows in Docker

Windows VM

  • docker
  • vm
  • windows
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - ./windows:/storage
    restart: always
    stop_grace_period: 2m

Windows VM

  • docker
  • vm
  • windows