39 lines
1.6 KiB
YAML
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
|