fix: Update Dockerfile and docker-compose to enhance dependency installation and adjust IPFS port mappings
This commit is contained in:
parent
e82b95878e
commit
b0a68b19c9
@ -1,13 +1,17 @@
|
|||||||
# Blog API Node
|
# Blog API Node
|
||||||
FROM node:18-alpine
|
FROM node:18-alpine
|
||||||
|
|
||||||
# Install system dependencies
|
# Install system dependencies including build tools for native modules
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
curl \
|
curl \
|
||||||
python3 \
|
python3 \
|
||||||
make \
|
make \
|
||||||
g++ \
|
g++ \
|
||||||
git
|
git \
|
||||||
|
cmake \
|
||||||
|
pkgconfig \
|
||||||
|
libc6-compat \
|
||||||
|
linux-headers
|
||||||
|
|
||||||
# Create app directory
|
# Create app directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
@ -19,7 +23,7 @@ COPY package*.json pnpm-lock.yaml ./
|
|||||||
RUN npm install -g pnpm
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
# Install full dependencies and reflect-metadata
|
# Install full dependencies and reflect-metadata
|
||||||
RUN pnpm install --frozen-lockfile --ignore-scripts \
|
RUN pnpm install --frozen-lockfile \
|
||||||
&& pnpm add reflect-metadata @babel/runtime
|
&& pnpm add reflect-metadata @babel/runtime
|
||||||
|
|
||||||
# Install tsx globally for running TypeScript files (better ESM support)
|
# Install tsx globally for running TypeScript files (better ESM support)
|
||||||
|
@ -1,5 +1,17 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
// Polyfill CustomEvent for Node.js environment
|
||||||
|
if (typeof globalThis.CustomEvent === 'undefined') {
|
||||||
|
globalThis.CustomEvent = class CustomEvent<T = any> extends Event {
|
||||||
|
detail: T;
|
||||||
|
|
||||||
|
constructor(type: string, eventInitDict?: CustomEventInit<T>) {
|
||||||
|
super(type, eventInitDict);
|
||||||
|
this.detail = eventInitDict?.detail;
|
||||||
|
}
|
||||||
|
} as any;
|
||||||
|
}
|
||||||
|
|
||||||
import express from 'express';
|
import express from 'express';
|
||||||
import { DebrosFramework } from '../../../../src/framework/DebrosFramework';
|
import { DebrosFramework } from '../../../../src/framework/DebrosFramework';
|
||||||
import { User, UserProfile, Category, Post, Comment } from '../models/BlogModels';
|
import { User, UserProfile, Category, Post, Comment } from '../models/BlogModels';
|
||||||
|
@ -33,13 +33,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ID=blog-node-1
|
- NODE_ID=blog-node-1
|
||||||
- NODE_PORT=3000
|
- NODE_PORT=3000
|
||||||
- IPFS_PORT=4001
|
- IPFS_PORT=4011
|
||||||
- BOOTSTRAP_PEER=blog-bootstrap
|
- BOOTSTRAP_PEER=blog-bootstrap
|
||||||
- SWARM_KEY_FILE=/data/swarm.key
|
- SWARM_KEY_FILE=/data/swarm.key
|
||||||
- NODE_ENV=test
|
- NODE_ENV=test
|
||||||
ports:
|
ports:
|
||||||
- "3001:3000"
|
- "3001:3000"
|
||||||
- "4011:4001"
|
- "4011:4011"
|
||||||
volumes:
|
volumes:
|
||||||
- ./swarm.key:/data/swarm.key:ro
|
- ./swarm.key:/data/swarm.key:ro
|
||||||
- blog-node-1-data:/data
|
- blog-node-1-data:/data
|
||||||
@ -63,13 +63,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ID=blog-node-2
|
- NODE_ID=blog-node-2
|
||||||
- NODE_PORT=3000
|
- NODE_PORT=3000
|
||||||
- IPFS_PORT=4001
|
- IPFS_PORT=4012
|
||||||
- BOOTSTRAP_PEER=blog-bootstrap
|
- BOOTSTRAP_PEER=blog-bootstrap
|
||||||
- SWARM_KEY_FILE=/data/swarm.key
|
- SWARM_KEY_FILE=/data/swarm.key
|
||||||
- NODE_ENV=test
|
- NODE_ENV=test
|
||||||
ports:
|
ports:
|
||||||
- "3002:3000"
|
- "3002:3000"
|
||||||
- "4012:4001"
|
- "4012:4012"
|
||||||
volumes:
|
volumes:
|
||||||
- ./swarm.key:/data/swarm.key:ro
|
- ./swarm.key:/data/swarm.key:ro
|
||||||
- blog-node-2-data:/data
|
- blog-node-2-data:/data
|
||||||
@ -93,13 +93,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ID=blog-node-3
|
- NODE_ID=blog-node-3
|
||||||
- NODE_PORT=3000
|
- NODE_PORT=3000
|
||||||
- IPFS_PORT=4001
|
- IPFS_PORT=4013
|
||||||
- BOOTSTRAP_PEER=blog-bootstrap
|
- BOOTSTRAP_PEER=blog-bootstrap
|
||||||
- SWARM_KEY_FILE=/data/swarm.key
|
- SWARM_KEY_FILE=/data/swarm.key
|
||||||
- NODE_ENV=test
|
- NODE_ENV=test
|
||||||
ports:
|
ports:
|
||||||
- "3003:3000"
|
- "3003:3000"
|
||||||
- "4013:4001"
|
- "4013:4013"
|
||||||
volumes:
|
volumes:
|
||||||
- ./swarm.key:/data/swarm.key:ro
|
- ./swarm.key:/data/swarm.key:ro
|
||||||
- blog-node-3-data:/data
|
- blog-node-3-data:/data
|
||||||
|
Reference in New Issue
Block a user