Files
mopac-glpi-go/docker-compose.yml
T

39 lines
1.6 KiB
YAML

# glpi-go — the mglpi CLI exec-host. Image built here
# (`docker compose build mglpi`); the container runs PERSISTENTLY and
# every invocation is `docker exec` (Charles 2026-08-31):
#
# docker compose up -d mglpi # once, and at boot
# mglpi change list --status new # ~/.local/bin/mglpi shim:
# # docker exec -i mopac-cli-mglpi mglpi ...
# docker exec -i mopac-cli-mglpi mglpi-mcp # the MCP surface (stdio)
#
# DUAL-SURFACE RULE (Charles 2026-08-31): every connector repo carries
# BOTH its CLI and its MCP server (both binaries live in the same
# image; the MCP surface is exec'd with -i). ALWAYS scope compose ops to
# the exact service (`up -d mglpi`, `stop mglpi`, `rm -f mglpi`,
# `build mglpi`). NEVER bare `docker compose down` in a connector repo.
#
# Never `docker run` per invocation (ephemeral spins are where the cruft
# came from), never extracted binaries (outdated copies). The container
# is always the exact pinned image build.
#
# Live credentials: MGLPI_URL / MGLPI_APP_TOKEN / MGLPI_USER_TOKEN
# (plus optional MGLPI_PROFILE_ID) in a 0600 env file in ~/.creds
# (single place, Charles 2026-08-31; see env.example). Never committed,
# never logged.
name: mopac-glpi
services:
mglpi:
build:
context: .
dockerfile: deploy/Dockerfile.mglpi
image: mopac-mglpi:1
container_name: mopac-cli-mglpi
restart: unless-stopped
# Exec-host pattern: idle forever, serve `docker exec` sessions.
entrypoint: ["sleep", "infinity"]
env_file:
- ${MGLPI_CREDS:-/home/reachableceo/.creds}/mglpi.env