diff --git a/tools/docker-compose/README.md b/tools/docker-compose/README.md index 231e05e701..88a3ea1883 100644 --- a/tools/docker-compose/README.md +++ b/tools/docker-compose/README.md @@ -21,7 +21,7 @@ Notable files: ## Configuration -In the `inventory` file, set your `pg_password`, `broadcast_websocket_secret`, `secret_key`, and any other settings you need for your deployment. +In the [`inventory` file](../inventory), set your `pg_password`, `broadcast_websocket_secret`, `secret_key`, and any other settings you need for your deployment. AWX requires access to a PostgreSQL database, and by default, one will be created and deployed in a container, and data will be persisted to a docker volume. When the container is stopped, the database files will still exist in the docker volume. An external database can be used by setting the `pg_host`, `pg_hostname`, and `pg_username`. diff --git a/tools/docker-compose/docs/data_migration.md b/tools/docker-compose/docs/data_migration.md index 3e313a0ebf..ee987c93f5 100644 --- a/tools/docker-compose/docs/data_migration.md +++ b/tools/docker-compose/docs/data_migration.md @@ -1,7 +1,7 @@ # Migrating Data from Local Docker If you are migrating data from a Local Docker installation (17.0.1 and prior), you can -migrate your data to the development environment via the migrate.yml playbook, or by using the manual steps described below. +migrate your data to the development environment via the migrate.yml playbook. > Note: This will also convert your postgresql bind-mount into a docker volume. @@ -11,9 +11,9 @@ First, in the `inventory` file, set your `pg_password`, `broadcast_websocket_se If you had a custom pgdocker or awxcompose location, you will need to set the `postgres_data_dir` and `old_docker_compose_dir` variables. -1. Run the [migrate playbook](./ansible/migrate.yml) to migrate your data to the new postgresql container and convert the data directory to a volume mount. +1. Run the [migrate playbook](../ansible/migrate.yml) to migrate your data to the new postgresql container and convert the data directory to a volume mount. ```bash -$ ansible-playbook -i tools/docker-compose/inventory tools/docker-compose/migrate.yml -e "migrate_local_docker=true" -e "postgres_data_dir=~/.awx/pgdocker" -e "old_docker_compose_dir=~/.awx/awxcompose" +$ ansible-playbook -i tools/docker-compose/inventory tools/docker-compose/ansible/migrate.yml -e "migrate_local_docker=true" -e "postgres_data_dir=~/.awx/pgdocker" -e "old_docker_compose_dir=~/.awx/awxcompose" ``` 2. Change directory to the top of your awx checkout and start your containers @@ -22,41 +22,3 @@ $ make docker-compose ``` 3. After ensuring your data has been successfully migrated, you may delete your old data directory (typically stored at `~/.awx/pgdocker`). - - -### Migrating data manually - -1. With Local Docker still running, perform a pg_dumpall: -> Note: If Local Docker is no longer running -`docker-compose -f ~/.awx/awxcompose/docker-compose.yml up postgres` - - ```bash - $ docker-compose -f ~/.awx/awxcompose/docker-compose.yml exec postgres pg_dumpall -U awx > awx_dump.sql - ``` - -2. Remove all local docker containers (specifically awx_postgres) -```bash -$ docker -f rm awx_postgres -``` - -3. Template the new docker-compose.yml -```bash -$ ansible-playbook -i tools/ansible/inventory tools/ansible/sources.yml -``` - -4. Start a container with a volume (using the new tools/docker-compose/_sources/docker-compose.yml) -```bash -$ docker-compose -f ../docker-compose/_sources/docker-compose.yml up postgres -``` - -5. Restore to new `awx_postgres` -```bash -$ docker-compose -f ../docker-compose/_sources/docker-compose.yml exec -T postgres psql -U awx -d awx -p 5432 < awx_dump.sql -``` - -6. Run the docker-compose.yml to start the containers -```bash -$ docker-compose -f ../docker-compose/_sources/docker-compose.yml up task -``` - -7. Check to ensure your data migration was successful, then you can delete your the `awx_dump.sql` backup and your old data directory.