diff --git a/jenkins/jenkins_setup/Dockerfile b/jenkins/jenkins_setup/Dockerfile
new file mode 100644
index 0000000..6d981ff
--- /dev/null
+++ b/jenkins/jenkins_setup/Dockerfile
@@ -0,0 +1,13 @@
+FROM jenkins/jenkins:2.332.3-lts
+ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false
+ENV CASC_JENKINS_CONFIG /var/jenkins_home/casc.yaml
+
+# add plugins
+COPY /plugins.txt /usr/share/jenkins/ref/plugins.txt
+RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
+
+# add security perms
+COPY casc.yaml /var/jenkins_home/casc.yaml
+
+# seed with jobs
+COPY jenkins_jobs /usr/share/jenkins/ref/jobs
diff --git a/jenkins/jenkins_setup/casc.yaml b/jenkins/jenkins_setup/casc.yaml
new file mode 100644
index 0000000..0fff894
--- /dev/null
+++ b/jenkins/jenkins_setup/casc.yaml
@@ -0,0 +1,21 @@
+jenkins:
+ securityRealm:
+ local:
+ allowsSignup: false
+ users:
+ - id: ${JENKINS_ADMIN_ID}
+ password: ${JENKINS_ADMIN_PASSWORD}
+ authorizationStrategy:
+ globalMatrix:
+ permissions:
+ - "Overall/Administer:admin"
+ - "Overall/Read:authenticated"
+
+security:
+ queueItemAuthenticator:
+ authenticators:
+ - global:
+ strategy: triggeringUsersAuthorizationStrategy
+unclassified:
+ location:
+ url: http://8080:8080/
\ No newline at end of file
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/legacyIds b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/legacyIds
new file mode 100644
index 0000000..e69de29
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks
new file mode 100644
index 0000000..3e5edba
--- /dev/null
+++ b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks
@@ -0,0 +1,6 @@
+lastCompletedBuild -1
+lastFailedBuild -1
+lastStableBuild -1
+lastSuccessfulBuild -1
+lastUnstableBuild -1
+lastUnsuccessfulBuild -1
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml b/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml
new file mode 100644
index 0000000..4c1b831
--- /dev/null
+++ b/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml
@@ -0,0 +1,21 @@
+
+
+
+ false
+
+
+ true
+ false
+ false
+ false
+
+ false
+
+
+ echo "hello from Jenkins Valet people!"
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/legacyIds b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/legacyIds
new file mode 100644
index 0000000..e69de29
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks
new file mode 100644
index 0000000..3e5edba
--- /dev/null
+++ b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks
@@ -0,0 +1,6 @@
+lastCompletedBuild -1
+lastFailedBuild -1
+lastStableBuild -1
+lastSuccessfulBuild -1
+lastUnstableBuild -1
+lastUnsuccessfulBuild -1
diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml
new file mode 100644
index 0000000..2f6b7bc
--- /dev/null
+++ b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml
@@ -0,0 +1,23 @@
+
+
+
+ false
+
+
+
+ true
+
+
+ false
+
\ No newline at end of file
diff --git a/jenkins/jenkins_setup/plugins.txt b/jenkins/jenkins_setup/plugins.txt
new file mode 100644
index 0000000..aed9ac6
--- /dev/null
+++ b/jenkins/jenkins_setup/plugins.txt
@@ -0,0 +1,21 @@
+ant:latest
+authorize-project:latest
+antisamy-markup-formatter:latest
+build-timeout:latest
+cloudbees-folder:latest
+configuration-as-code:latest
+credentials-binding:latest
+email-ext:latest
+git:latest
+github-branch-source:latest
+gradle:latest
+ldap:latest
+mailer:latest
+matrix-auth:latest
+pam-auth:latest
+pipeline-github-lib:latest
+pipeline-stage-view:latest
+ssh-slaves:latest
+timestamper:latest
+workflow-aggregator:latest
+ws-cleanup:latest
\ No newline at end of file