# The Jenkins controller: stock Jenkins on Java 25. It runs no builds; the # client builds run on the agent (docker-compose.agent.yml). On Coolify, # deploy it as a Docker Compose application from this repository (base # directory /ci/jenkins) or paste it into a Compose service, with "Connect to # predefined network" on so the agent can reach it. See ci/jenkins/README.md. # # Earlier versions of this file built the controller from ci/jenkins/Dockerfile, # which is now the agent's image. The service name and data volume are the # same, so redeploying an existing Jenkins from this file keeps its jobs and # credentials; its builds then wait for the agent. services: jenkins: # Pin a version with e.g. jenkins/jenkins:2.587-jdk25. Keep the agent on # the same Java major version (its image defaults to Java 25). image: ${JENKINS_IMAGE:-jenkins/jenkins:lts-jdk25} # A restart from the Jenkins UI exits with code 5 and relies on Docker to # start it again. restart: unless-stopped expose: - "8080" volumes: - jenkins_home:/var/jenkins_home volumes: jenkins_home: