#!/usr/bin/env node if (process.env.NODE_ENV !== "production") require("dotenv").config(); const app = require("../app"); const server = new app.grpc.Server(); const client = new app.imageProto.Image( `${process.env.PORT || 10010}`, app.grpc.credentials.createSsl() ); app.promisify(client); try { let address = `0.0.0.0:${process.env.PORT || 10010}`; server.addService(app.imageProto.Image.service, app.imageImpl); server.bindAsync( address, app.grpc.ServerCredentials.createInsecure(), (err, port) => { if (err) { console.error(err); process.exit(1); } console.log(`🚀 gRPC listening on ${port}`); process.on("SIGTERM", () => { console.log("SIGTERM received, shutting down gRPC server..."); server.tryShutdown(() => { console.log("gRPC server closed"); process.exit(0); }); }); } ); // server.start() // console.info(`Image gRPC server: Listening on ${address}`) } catch (error) { console.error(`Image gRPC server error: ${error.message}`); process.exit(1); }