# AWX Docker Compose Edits

**URL:** <https://forum.ansible.com/t/awx-docker-compose-edits/31341>\
**Category:** AWX Project\
**Tags:** awx\
**Created:** [September 23, 2019, 5:09pm UTC](https://forum.ansible.com/t/awx-docker-compose-edits/31341 "2019-09-23T17:09:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jeremy\_Rogers](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@Jeremy\_Rogers](https://forum.ansible.com/u/Jeremy_Rogers)\
**Post date:** [September 23, 2019, 5:09pm UTC](https://forum.ansible.com/t/awx-docker-compose-edits/31341/1 "2019-09-23T17:09:10Z")

</div>

This is our organizations first jump off into Docker and Docker Compose. We had previously stood up a POC of Tower and like it enough that we wanted to compare the AWX version. Our issue is that changes we would normally make at the OS level are now changes that have to be made in the container. Having almost zero knowledge of how to configure/edit a container, where would be some good places to start for documentation? For instance, if our network guys wanted a playbook to output a file, does the file live in the container or the host file system?

I know these are pretty much basement questions on Docker and not necessarily AWX, but our need to tweak some settings within AWX is forcing us to learn on the fly.

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Fran\_Fitzpatrick](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@Fran\_Fitzpatrick](https://forum.ansible.com/u/Fran_Fitzpatrick)\
**Post date:** [September 23, 2019, 6:08pm UTC](https://forum.ansible.com/t/awx-docker-compose-edits/31341/2 "2019-09-23T18:08:22Z")

</div>

> Our issue is that changes we would normally make at the OS level

What changes are you normally making at the OS level?

> If our network guys wanted a playbook to output a file, does the file live in the container or the host file system?

To answer your question, if your playbook saves a file locally, it  
will be somewhere in the awx\_task container. I would encourage your  
network guys to do things like (1) output the file [which is most  
likely a config] to screen, (2) have the playbook \*send\* the file  
somewhere, or (3) evaluate why they need to save the file (meaning you  
might be able to write tasks that will fetch a config and assert  
against it, never actually needing to save a config -- we were able to  
do this in some cases).

Also, for what its worth, we were able to transition to AWX without  
editing the containers (or how they were built) at all. And I think  
most people will be able to do this too, maybe with some changes to  
their own playbooks (for example, we added tasks to all of our  
applicable roles/playbooks to install dependencies locally, which  
installs needed dependencies into the container on playbook  
execution).

---

<div class="post-metadata">

**Author:** ![Jeremy\_Rogers](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@Jeremy\_Rogers](https://forum.ansible.com/u/Jeremy_Rogers)\
**Post date:** [September 23, 2019, 6:34pm UTC](https://forum.ansible.com/t/awx-docker-compose-edits/31341/3 "2019-09-23T18:34:55Z")

</div>

My one hurdle right now is the network guys are wanting to edit the requirements.yml file so they can pull roles from Galaxy on the fly?

They also had questions about some of the pip installs they needed to do when we did the POC for Tower. Will these need to be done again and which container? You may have answered that one already with the task container.

---

<div class="post-metadata">

**Author:** ![Fran\_Fitzpatrick](https://avatars.discourse-cdn.com/v4/letter/f/7ab992/32.png) [@Fran\_Fitzpatrick](https://forum.ansible.com/u/Fran_Fitzpatrick)\
**Post date:** [September 23, 2019, 6:41pm UTC](https://forum.ansible.com/t/awx-docker-compose-edits/31341/4 "2019-09-23T18:41:22Z")

</div>

> network guys are wanting to edit the requirements.yml file

I feel like if they edit the requirements.yml file in the project  
(like, in the git project), the next time the playbook will get run,  
AWX will check for `roles/requirements.yml` changes and will download  
your new roles as needed.

I say "feel like" being I'm having some unrelated problems with this  
file, but it most likely won't affect y'all.

> They also had questions about some of the pip installs they needed to do when we did the POC for Tower. Will these need to be done again and which container?

Yeah, for these type of things I would suggest having a task that  
looks something like:

- name: Ensure needed dependencies are available  
&nbsp;&nbsp;pip:  
&nbsp;&nbsp;&nbsp;&nbsp;name:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- junos-eznc # Obviously use whatever packages you need here  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ncclient  
&nbsp;&nbsp;&nbsp;&nbsp;state: present  
&nbsp;&nbsp;delegate\_to: localhost  
&nbsp;&nbsp;run\_once: true

That will ensure the needed dependences already exist in the container  
before your tasks actually need and use them.
