Patrick commited on
Commit
c6eb9fa
·
unverified ·
1 Parent(s): 834f25c

feat: add configurable PORT for dev and start servers (#179)

Browse files

- package.json: dev and start scripts now use ${PORT:-3000}
- Dockerfile: healthcheck uses ${PORT:-3000}, ENV PORT=3000 as default
- docker-compose.yml: passes PORT env to container, maps MC_PORT to PORT
- .env.example: documents PORT variable

Set PORT=<number> to change the listening port. Defaults to 3000.
Previously dev used Next.js default (3000) and start hardcoded 3005.

Files changed (4) hide show
  1. .env.example +4 -0
  2. Dockerfile +2 -2
  3. docker-compose.yml +3 -1
  4. package.json +2 -2
.env.example CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  # === Authentication ===
2
  # Admin user seeded on first run (only if no users exist in DB)
3
  AUTH_USER=admin
 
1
+ # === Server Port ===
2
+ # Port the Next.js server listens on (dev and production)
3
+ # PORT=3000
4
+
5
  # === Authentication ===
6
  # Admin user seeded on first run (only if no users exist in DB)
7
  AUTH_USER=admin
Dockerfile CHANGED
@@ -32,9 +32,9 @@ COPY --from=build /app/src/lib/schema.sql ./src/lib/schema.sql
32
  RUN mkdir -p .data && chown nextjs:nodejs .data
33
  RUN apt-get update && apt-get install -y curl --no-install-recommends && rm -rf /var/lib/apt/lists/*
34
  USER nextjs
35
- EXPOSE 3000
36
  ENV PORT=3000
 
37
  ENV HOSTNAME=0.0.0.0
38
  HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
39
- CMD curl -f http://localhost:3000/login || exit 1
40
  CMD ["node", "server.js"]
 
32
  RUN mkdir -p .data && chown nextjs:nodejs .data
33
  RUN apt-get update && apt-get install -y curl --no-install-recommends && rm -rf /var/lib/apt/lists/*
34
  USER nextjs
 
35
  ENV PORT=3000
36
+ EXPOSE 3000
37
  ENV HOSTNAME=0.0.0.0
38
  HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
39
+ CMD curl -f http://localhost:${PORT:-3000}/login || exit 1
40
  CMD ["node", "server.js"]
docker-compose.yml CHANGED
@@ -3,7 +3,9 @@ services:
3
  build: .
4
  container_name: mission-control
5
  ports:
6
- - "${MC_PORT:-3000}:3000"
 
 
7
  env_file:
8
  - path: .env
9
  required: false
 
3
  build: .
4
  container_name: mission-control
5
  ports:
6
+ - "${MC_PORT:-3000}:${PORT:-3000}"
7
+ environment:
8
+ - PORT=${PORT:-3000}
9
  env_file:
10
  - path: .env
11
  required: false
package.json CHANGED
@@ -3,9 +3,9 @@
3
  "version": "1.3.0",
4
  "description": "OpenClaw Mission Control — open-source agent orchestration dashboard",
5
  "scripts": {
6
- "dev": "next dev --hostname 127.0.0.1",
7
  "build": "next build",
8
- "start": "next start --hostname 0.0.0.0 --port 3005",
9
  "lint": "eslint .",
10
  "typecheck": "tsc --noEmit",
11
  "test": "vitest run",
 
3
  "version": "1.3.0",
4
  "description": "OpenClaw Mission Control — open-source agent orchestration dashboard",
5
  "scripts": {
6
+ "dev": "next dev --hostname 127.0.0.1 --port ${PORT:-3000}",
7
  "build": "next build",
8
+ "start": "next start --hostname 0.0.0.0 --port ${PORT:-3000}",
9
  "lint": "eslint .",
10
  "typecheck": "tsc --noEmit",
11
  "test": "vitest run",