Spaces:
Runtime error
Runtime error
Patrick commited on
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.
- .env.example +4 -0
- Dockerfile +2 -2
- docker-compose.yml +3 -1
- 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
|
| 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",
|