Skip to content

Commit 2702324

Browse files
authored
Merge pull request #29 from restackio/swagger-2
2 parents 1c67737 + 4078160 commit 2702324

11 files changed

+2929
-0
lines changed

examples/swagger/.env.example

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# (Optional) Restack Cloud - You only need to set these if you are using Restack Cloud
2+
3+
RESTACK_ENGINE_ID=
4+
RESTACK_ENGINE_ADDRESS=
5+
RESTACK_ENGINE_API_KEY=
6+
7+
RESTACK_CLOUD_TOKEN=

examples/swagger/Dockerfile

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Build stage
2+
FROM node:20-bullseye-slim AS builder
3+
4+
WORKDIR /app
5+
6+
# Install pnpm
7+
RUN npm install -g pnpm
8+
9+
# Copy package files
10+
COPY package*.json ./
11+
12+
# Install dependencies including TypeScript
13+
RUN pnpm install
14+
RUN pnpm add -D typescript
15+
16+
# Copy source code
17+
COPY . .
18+
19+
# Build TypeScript code
20+
RUN pnpm run build
21+
22+
# Production stage
23+
FROM node:20-bullseye-slim
24+
25+
WORKDIR /app
26+
27+
# Install pnpm
28+
RUN npm install -g pnpm
29+
30+
# Copy package files, source code, and built code
31+
COPY --from=builder /app/package*.json ./
32+
COPY --from=builder /app/src ./src
33+
COPY --from=builder /app/dist ./dist
34+
35+
# Install production dependencies only
36+
RUN pnpm install --prod
37+
38+
EXPOSE 8000
39+
40+
CMD ["node", "dist/server.js"]

examples/swagger/package.json

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"name": "restack-examples-ts-swaggerexpress",
3+
"version": "0.0.1",
4+
"description": "Basic Express example with Swagger",
5+
"main": "server.ts",
6+
"scripts": {
7+
"start": "ts-node src/server.ts",
8+
"start.watch": "nodemon src/server.ts",
9+
"dev": "pnpm start.watch",
10+
"build": "tsc --build",
11+
"clean": "rm -rf node_modules",
12+
"docker:build": "docker build -t restack-swagger-express .",
13+
"docker:run": "docker run -p 8000:8000 restack-swagger-express",
14+
"docker:dev": "pnpm docker:build && pnpm docker:run",
15+
"docker:stop": "docker stop $(docker ps -q --filter ancestor=restack-swagger-express) 2>/dev/null || true",
16+
"docker:clean": "pnpm docker:stop && docker rm $(docker ps -a -q --filter ancestor=restack-swagger-express) 2>/dev/null || true && docker rmi restack-swagger-express -f",
17+
"restack-up": "node restack_up.mjs"
18+
},
19+
"nodemonConfig": {
20+
"execMap": {
21+
"ts": "ts-node"
22+
},
23+
"ext": "ts",
24+
"watch": [
25+
"src"
26+
]
27+
},
28+
"dependencies": {
29+
"@restackio/ai": "^0.0.80",
30+
"@temporalio/workflow": "^1.11.2",
31+
"dotenv": "^16.4.5",
32+
"express": "^4.21.1",
33+
"swagger-jsdoc": "^6.2.8",
34+
"swagger-ui-express": "^5.0.0"
35+
},
36+
"devDependencies": {
37+
"@restackio/restack-sdk-cloud-ts": "^1.0.16",
38+
"@types/express": "^5.0.0",
39+
"@types/node": "^20.16.9",
40+
"@types/swagger-jsdoc": "^6.0.4",
41+
"@types/swagger-ui-express": "^4.1.6",
42+
"nodemon": "^2.0.22",
43+
"ts-node": "^10.9.2"
44+
}
45+
}

0 commit comments

Comments
 (0)