Skip to content

chore: add Docker configuration#176

Open
tnkshuuhei wants to merge 2 commits intodevfrom
feat/docker
Open

chore: add Docker configuration#176
tnkshuuhei wants to merge 2 commits intodevfrom
feat/docker

Conversation

@tnkshuuhei
Copy link
Member

No description provided.

…and .dockerignore for containerized application setup
@vercel
Copy link

vercel bot commented Jan 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
muse Ready Ready Preview, Comment Jan 20, 2026 8:00am

@tnkshuuhei tnkshuuhei linked an issue Jan 20, 2026 that may be closed by this pull request
@claude
Copy link

claude bot commented Jan 20, 2026

Pull Request Review: Docker Configuration

Overview

This PR adds Docker support to the Muse application with a multi-stage Dockerfile, docker-compose configuration, and related tooling. Overall, this is a solid implementation with good security practices, but there are several issues that need attention.

Critical Issues

1. Git Submodule Missing in Docker Build
The project includes evidence-repo/ as a git submodule, but the Dockerfile doesn't initialize it. This will cause build failures.

Impact: Docker builds will fail or run with missing evidence data.

Fix: Add after line 19 in Dockerfile:

  • apk add --no-cache git
  • git submodule update --init --recursive

2. Environment Variable Conflict
The docker-compose.yml defines variables in both env_file AND environment sections. The environment section will override .env.local.

Fix: Use only env_file OR only environment (not both).

3. Missing Documentation
Docker usage is not documented in CLAUDE.md or README.md.

Fix: Update CLAUDE.md to document the new docker scripts.

Security Concerns

4. Environment Files - .dockerignore correctly excludes .env files (good!)

5. Build Arguments - NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID as build arg is acceptable since it's a public variable, but document that secrets should never be build args.

Best Practices

6. Missing Health Check - Consider adding HEALTHCHECK instruction for production deployments.

7. Mastra Directory - Add comment in .dockerignore clarifying .mastra is build cache, not source.

Positive Aspects

  1. Multi-stage build with excellent separation
  2. Non-root user (nextjs) for security
  3. Minimal Alpine base image
  4. Bun runtime consistency
  5. Telemetry disabled
  6. Comprehensive .dockerignore
  7. Helpful npm scripts (docker:build, docker:up, etc.)
  8. Correct Next.js standalone output configuration

Recommendations Priority

Must Fix (Blocking):

  1. Initialize git submodules in Dockerfile
  2. Fix env_file vs environment conflict
  3. Add Docker documentation to CLAUDE.md

Should Fix:
4. Add healthcheck to Dockerfile
5. Clarify .mastra exclusion comment

Nice to Have:
6. Add Docker smoke test
7. Consider docker-compose.dev.yml

Overall Assessment

This is a well-structured Docker implementation following many best practices. The git submodule issue is critical and must be fixed before merging. With the recommended changes, this will be a solid addition to the project.

Great work on the Docker setup!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dockernize

1 participant