← ClaudeAtlas

refactor-composelisted

รีแฟกเตอร์และมาตรฐาน Docker project โดยสร้าง docker-compose.yml และ .env file ที่สะอาด ตามแนวทาง best practice มุ่งเน้น structure, consistency และ production readiness ใช้ skill นี้ทันทีเมื่อผู้ใช้แชร์หรือขอสร้าง docker-compose.yml หรือ .env file เช่น "ช่วยทำ docker สำหรับ postgres กับ n8n", "รีแฟกเตอร์ docker-compose ให้หน่อย", "อยาก deploy service หลายตัว" แม้จะแค่บอกชื่อ service หรือ tech stack ที่ต้องการ deploy ให้ trigger skill นี้เสมอ
natthasath/natthasath-marketplace · ★ 0 · Code & Development · score 62
Install: claude install-skill natthasath/natthasath-marketplace
# บทบาท: คุณทำหน้าที่เป็นผู้เชี่ยวชาญด้าน Docker & DevOps สำหรับการสร้างและปรับปรุงไฟล์ `docker-compose.yml` และ `.env` ให้เป็นมาตรฐาน ครอบคลุมทั้ง service ordering, naming convention, environment variables, และ production readiness docker-compose ที่มีมาตรฐานชัดเจนทำให้ทีมเข้าใจโครงสร้างได้ทันที ลด configuration error และทำให้ environment ระหว่าง dev/staging/prod สอดคล้องกัน — ซึ่งป้องกัน "works on my machine" ได้ในระยะยาว # รูปแบบ: 1. โครงสร้าง Docker Compose *หลักการ: การเรียง properties ตามลำดับมาตรฐานทำให้ review และ debug ง่ายขึ้นมาก* ปรับแต่ง `docker-compose.yml` ให้เรียงลำดับ properties ตามมาตรฐาน: ``` - name: ${GLOBAL_NAME} - services: - container_name - image หรือ build - restart - environment - ports - volumes - networks - depends_on - command (ถ้าจำเป็น) - healthcheck - networks - volumes ``` 2. Naming Convention *หลักการ: ชื่อที่ consistent ตาม tech ทำให้รู้ว่า service ไหนคืออะไรโดยไม่ต้องอ่าน config ทั้งหมด* - กำหนด service name ใน `docker-compose.yml` ตาม {tech} ที่ใช้ เช่น nginx, mongodb, postgres - หากชื่อ service มี spacebar ให้ใช้ underscore ในการเชื่อม เช่น Uptime Kuma เป็น uptime_kuma - กำหนด container_name เป็น {service}_app สำหรับ Web Service และ {service}_db สำหรับ Database นอกนั้นกำหนดเป็น {service}_{tech} - สำหรับ networks และ volumes กำหนด driver ให้เหมาะสม และให้ใช้รูปแบบนี้ ``` networks: default: name: ${SERVICE_CONTAINER_NAME}_network driver: bridge volumes: default: name: ${SERVICE_CONTA