matrix-ansible-controller/docker-compose.yml
Maddox 325ddfe012 Initial commit: Matrix Ansible Controller
Portable Docker container for managing matrix-docker-ansible-deploy playbooks.

- Dockerfile with Python 3.12, Ansible 2.17+, and all dependencies
- docker-compose.yml with volume mounts for SSH, playbook, and inventory
- entrypoint.sh for automatic setup (clone playbook, link inventory, install roles)
- README.md with deployment and usage instructions
2026-02-01 15:52:52 +00:00

49 lines
1.2 KiB
YAML

# Matrix Ansible Controller
# Portable container for managing matrix-docker-ansible-deploy playbook
#
# Usage:
# docker compose up -d
# docker exec -it matrix-ansible-controller bash
# just install-all
services:
controller:
build: .
image: matrix-ansible-controller:latest
container_name: matrix-ansible-controller
hostname: matrix-controller
# Keep container running for interactive use
stdin_open: true
tty: true
volumes:
# SSH keys (read-only) - for connecting to matrix server
- /root/.ssh:/ssh:ro
# Persistent playbook directory (survives container rebuilds)
- ./data/playbook:/playbook
# Your inventory configuration (vars.yml, hosts, etc.)
- ./data/inventory:/inventory
# Persist ansible cache/facts
- ./data/ansible-cache:/root/.ansible
environment:
- ANSIBLE_HOST_KEY_CHECKING=False
- ANSIBLE_FORCE_COLOR=True
- UPDATE_ROLES=false
network_mode: bridge
deploy:
resources:
limits:
memory: 1G
cpus: '2.0'
labels:
- "com.centurylinklabs.watchtower.enable=false"
restart: unless-stopped