# Base image FROM willhallonline/ansible:2.17-ubuntu-24.04 # Remove externally managed Python restriction RUN rm -rf /usr/lib/python3.12/EXTERNALLY-MANAGED # Install Python dependencies for Bitwarden and Docker RUN pip install --no-cache-dir bitwarden-sdk # Install Ansible collections RUN ansible-galaxy collection install bitwarden.secrets \ && ansible-galaxy collection install community.docker \ && ansible-galaxy collection install community.general # Install required packages and dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ libssl3 \ curl \ git \ nodejs \ && apt-get clean && rm -rf /var/lib/apt/lists/* RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # Ensure Rust binaries are added to the PATH ENV PATH="/root/.cargo/bin:${PATH}" # Install the bws tool using Cargo RUN cargo install bws # Set PYTHONPATH for custom Python package locations ENV PYTHONPATH=/usr/local/lib/python3.12/dist-packages:${PYTHONPATH} # Set the working directory WORKDIR /ansible # Default command CMD [ "ansible-playbook", "--version" ]