Files
curs-sobirania-digital/jenkins/docker-compose.yml
Guillem Hernandez Sola f1fe15d1b5 Tots els compose
2026-06-30 13:12:37 +02:00

44 lines
1.3 KiB
YAML

# /opt/stacks/jenkins/docker-compose.yml
#
# SEGURETAT: Jenkins s'executa com a usuari jenkins (uid 1000), no com a root.
# Per accedir a Docker des de pipelines, s'usa Docker-in-Docker (dind) o
# s'afegeix l'usuari jenkins al grup docker del host (vegeu notes al final).
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins:lts-jdk17
restart: unless-stopped
# NO usar user: root — risc crític amb docker.sock muntat
# L'uid 1000 és l'usuari jenkins per defecte de la imatge oficial
environment:
TZ: Europe/Madrid
JAVA_OPTS: >-
-Djenkins.install.runSetupWizard=true
-Xmx512m
-Xms256m
volumes:
- jenkins_home:/var/jenkins_home
# Docker socket — NOMÉS si has fet: sudo usermod -aG docker <host_user>
# i has ajustat els permisos del socket (vegeu notes)
# - /var/run/docker.sock:/var/run/docker.sock
ports:
- "8089:8080" # Web UI → via Nginx Proxy Manager
- "50000:50000" # Agents Jenkins (JNLP)
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/login"]
interval: 30s
timeout: 10s
retries: 5
start_period: 90s # Jenkins triga a arrencar
networks:
- shared_net
volumes:
jenkins_home:
networks:
shared_net:
external: true
name: shared_net