-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDockerfile
48 lines (38 loc) · 1.34 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Use Node.js LTS (matches engine requirement of >=18)
FROM node:23-slim
# Install system dependencies
RUN apt-get update && apt-get install -y \
python3 \
make \
g++ \
bash \
&& rm -rf /var/lib/apt/lists/*
# Install pnpm (matches packageManager version)
RUN npm install -g pnpm@9.0.0
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-workspace.yaml turbo.json ./
COPY clients/client-coinbase/package.json ./clients/client-coinbase/
COPY clients/client-direct/package.json ./clients/client-direct/
COPY clients/client-github/package.json ./clients/client-github/
COPY plugins/plugin-0x/package.json ./plugins/plugin-0x/
COPY plugins/plugin-coinbase/package.json ./plugins/plugin-coinbase/
COPY plugins/plugin-coinbase/advanced-sdk-ts/package.json ./plugins/plugin-coinbase/advanced-sdk-ts/
COPY plugins/plugin-email/package.json ./plugins/plugin-email/
COPY plugins/plugin-github/package.json ./plugins/plugin-github/
COPY plugins/plugin-twitter/package.json ./plugins/plugin-twitter/
COPY agent/package.json ./agent/
COPY ui/package.json ./ui/
# Install dependencies
RUN pnpm install
# Copy source files
COPY . .
# Build the project
RUN pnpm build
# Copy .env.example to .env
RUN cp .env.example .env
# Expose the ports (based on .env.example)
EXPOSE 3000 5173
# Start the application
CMD ["pnpm", "start"]