Skip to content

Docker

Ringkasan

Sutomo menggunakan tiga file Docker Compose dan dua Dockerfile untuk environment berbeda.

FileTujuan
DockerfileImage produksi (ringan, tanpa handbook build)
Dockerfile.devImage development (include Vitepress handbook)
docker-compose.ymlService produksi
docker-compose.dev.ymlOverride development (tambah DB, Redis, port)
docker-compose.test.ymlEnvironment CI test

Arsitektur Container

ContainerImageFungsi
sutomo-appFrankenPHP + OctaneHTTP server
sutomo-queueSama dengan appQueue worker
sutomo-dbPostgreSQL 17Database (dev only)
sutomo-redisRedis 7-alpineCache + Queue (dev only)
sutomo-prometheusPrometheus v3Metrik
sutomo-lokiLoki v3Log aggregation
sutomo-grafanaGrafana 13Dashboard metrik

Dev vs Prod

AspekDevProd
DockerfileDockerfile.devDockerfile
Workers28
DB + RedisIncludedExternal
File mountsYa (live reload)Tidak

Makefile Commands

bash
make build          # Build & start (dev)
make build prod     # Build & start (production)
make up             # Start containers
make down           # Stop containers
make migrate-seed   # migrate:fresh --seed
make test           # Run tests
make clean          # Hapus containers + volumes

File Penting

FileTujuan
DockerfileImage produksi
Dockerfile.devImage development
docker-compose.ymlService produksi
docker-compose.dev.ymlOverride dev
MakefileShortcut command