diff --git a/src/test/docker/docker-compose.yml b/src/test/docker/docker-compose.yml
index 58e6e69..0d70151 100644
--- a/src/test/docker/docker-compose.yml
+++ b/src/test/docker/docker-compose.yml
@@ -27,6 +27,7 @@ services:
     build: ./directory
     networks:
       - idp
+      - grouper
     volumes:
       - directory_data:/var/lib/ldap
       - directory_config:/etc/ldap/slapd.d
@@ -85,6 +86,8 @@ services:
       - ../../../target/grouper-authentication-plugin-0.0.1-SNAPSHOT.jar:/opt/grouper/plugins/grouper-authentication-plugin.jar
       - ./grouper/config/grouper.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper.properties
       - ./grouper/config/grouper-ui.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-ui.properties
+      - ./grouper/config/grouper-loader.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/grouper-loader.properties
+      - ./grouper/config/subject.properties:/opt/grouper/grouperWebapp/WEB-INF/classes/subject.properties
       - ./shibboleth-idp/opt-shibboleth-idp/metadata/idp-metadata.xml:/opt/grouper/idp-metadata.xml
       - ./grouper/cacerts:/usr/lib/jvm/java-17-amazon-corretto/lib/security/cacerts
     environment:
diff --git a/src/test/docker/grouper/config/grouper-loader.properties b/src/test/docker/grouper/config/grouper-loader.properties
new file mode 100644
index 0000000..d374e5f
--- /dev/null
+++ b/src/test/docker/grouper/config/grouper-loader.properties
@@ -0,0 +1,9 @@
+ldap.ldap.pass = admin
+ldap.ldap.searchResultHandlers = org.ldaptive.handler.DnAttributeEntryHandler,edu.internet2.middleware.grouper.ldap.ldaptive.GrouperRangeEntryHandler
+ldap.ldap.uiTestAttributeName = uid
+ldap.ldap.uiTestExpectedValue = GrouperSystem
+ldap.ldap.uiTestFilter = uid=GrouperSystem
+ldap.ldap.uiTestSearchDn = ou=People,dc=unicon,dc=local
+ldap.ldap.uiTestSearchScope = SUBTREE_SCOPE
+ldap.ldap.url = ldap://directory
+ldap.ldap.user = cn=admin,dc=unicon,dc=local
\ No newline at end of file
diff --git a/src/test/docker/grouper/config/subject.properties b/src/test/docker/grouper/config/subject.properties
new file mode 100644
index 0000000..2e0dbe8
--- /dev/null
+++ b/src/test/docker/grouper/config/subject.properties
@@ -0,0 +1,26 @@
+subjectApi.source.ldap.adapterClass = edu.internet2.middleware.grouper.subj.GrouperLdapSourceAdapter2_5
+subjectApi.source.ldap.attribute.0.name = uid
+subjectApi.source.ldap.attribute.0.subjectIdentifier = true
+subjectApi.source.ldap.attribute.0.translationType = sourceAttributeSameAsSubjectAttribute
+subjectApi.source.ldap.attribute.1.name = cn
+subjectApi.source.ldap.attribute.1.translationType = sourceAttributeSameAsSubjectAttribute
+subjectApi.source.ldap.id = ldap
+subjectApi.source.ldap.name = ldap
+subjectApi.source.ldap.numberOfAttributes = 2
+subjectApi.source.ldap.param.Description_AttributeType.value = cn
+subjectApi.source.ldap.param.Name_AttributeType.value = cn
+subjectApi.source.ldap.param.SubjectID_AttributeType.value = uid
+subjectApi.source.ldap.param.ldapServerId.value = ldap
+subjectApi.source.ldap.param.subjectIdentifierAttribute0.value = uid
+subjectApi.source.ldap.search.search.param.filter.value = (&(!(uid=GrouperSystem))(|(uid=%TERM%)(cn=*%TERM%*)))
+subjectApi.source.ldap.search.searchSubject.param.base.value = ou=People,dc=unicon,dc=local
+subjectApi.source.ldap.search.searchSubject.param.filter.value = (&(!(uid=GrouperSystem))(uid=%TERM%))
+subjectApi.source.ldap.search.searchSubject.param.scope.value = SUBTREE_SCOPE
+subjectApi.source.ldap.search.searchSubjectByIdentifier.param.filter.value = (&(!(uid=GrouperSystem))(uid=%TERM%))
+subjectApi.source.ldap.searchAttribute.0.attributeName = uid
+subjectApi.source.ldap.searchAttribute.1.attributeName = cn
+subjectApi.source.ldap.searchAttributeCount = 2
+subjectApi.source.ldap.sortAttribute.0.attributeName = uid
+subjectApi.source.ldap.sortAttribute.1.attributeName = cn
+subjectApi.source.ldap.sortAttributeCount = 2
+subjectApi.source.ldap.types = person