49 lines
1.2 KiB
YAML
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
|