pgpm 4.14.1 → 4.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/docker.js +21 -2
- package/esm/commands/docker.js +21 -2
- package/package.json +9 -9
package/commands/docker.js
CHANGED
|
@@ -25,6 +25,8 @@ PostgreSQL Options:
|
|
|
25
25
|
|
|
26
26
|
Additional Services:
|
|
27
27
|
--minio Include MinIO S3-compatible object storage (API: 9000, Console: 9001)
|
|
28
|
+
--ollama Include Ollama LLM inference server (API: 11434)
|
|
29
|
+
--gpu Enable NVIDIA GPU passthrough for Ollama (requires NVIDIA Container Toolkit)
|
|
28
30
|
|
|
29
31
|
General Options:
|
|
30
32
|
--help, -h Show this help message
|
|
@@ -33,12 +35,15 @@ General Options:
|
|
|
33
35
|
Examples:
|
|
34
36
|
pgpm docker start Start PostgreSQL only
|
|
35
37
|
pgpm docker start --minio Start PostgreSQL + MinIO
|
|
38
|
+
pgpm docker start --ollama Start PostgreSQL + Ollama (CPU)
|
|
39
|
+
pgpm docker start --ollama --gpu Start PostgreSQL + Ollama (NVIDIA GPU)
|
|
36
40
|
pgpm docker start --port 5433 Start on custom port
|
|
37
41
|
pgpm docker start --shm-size 4g Start with 4GB shared memory
|
|
38
42
|
pgpm docker start --recreate Remove and recreate containers
|
|
39
43
|
pgpm docker start --recreate --minio Recreate PostgreSQL + MinIO
|
|
40
44
|
pgpm docker stop Stop PostgreSQL
|
|
41
45
|
pgpm docker stop --minio Stop PostgreSQL + MinIO
|
|
46
|
+
pgpm docker stop --ollama Stop PostgreSQL + Ollama
|
|
42
47
|
pgpm docker ls List services and status
|
|
43
48
|
`;
|
|
44
49
|
const ADDITIONAL_SERVICES = {
|
|
@@ -56,6 +61,16 @@ const ADDITIONAL_SERVICES = {
|
|
|
56
61
|
command: ['server', '/data', '--console-address', ':9001'],
|
|
57
62
|
volumes: [{ name: 'minio-data', containerPath: '/data' }],
|
|
58
63
|
},
|
|
64
|
+
ollama: {
|
|
65
|
+
name: 'ollama',
|
|
66
|
+
image: 'ollama/ollama',
|
|
67
|
+
ports: [
|
|
68
|
+
{ host: 11434, container: 11434 },
|
|
69
|
+
],
|
|
70
|
+
env: {},
|
|
71
|
+
volumes: [{ name: 'ollama-data', containerPath: '/root/.ollama' }],
|
|
72
|
+
gpuCapable: true,
|
|
73
|
+
},
|
|
59
74
|
};
|
|
60
75
|
function run(command, args, options = {}) {
|
|
61
76
|
return new Promise((resolve, reject) => {
|
|
@@ -192,7 +207,7 @@ async function stopContainer(name) {
|
|
|
192
207
|
await (0, inquirerer_1.cliExitWithError)(`Failed to stop container "${name}"`);
|
|
193
208
|
}
|
|
194
209
|
}
|
|
195
|
-
async function startService(service, recreate) {
|
|
210
|
+
async function startService(service, recreate, gpu = false) {
|
|
196
211
|
const { name, image, ports, env: serviceEnv, command } = service;
|
|
197
212
|
const exists = await containerExists(name);
|
|
198
213
|
const running = await isContainerRunning(name);
|
|
@@ -236,6 +251,9 @@ async function startService(service, recreate) {
|
|
|
236
251
|
runArgs.push('-v', `${vol.name}:${vol.containerPath}`);
|
|
237
252
|
}
|
|
238
253
|
}
|
|
254
|
+
if (gpu && service.gpuCapable) {
|
|
255
|
+
runArgs.push('--gpus', 'all');
|
|
256
|
+
}
|
|
239
257
|
runArgs.push(image);
|
|
240
258
|
if (command) {
|
|
241
259
|
runArgs.push(...command);
|
|
@@ -309,12 +327,13 @@ exports.default = async (argv, _prompter, _options) => {
|
|
|
309
327
|
const password = args.password || 'password';
|
|
310
328
|
const shmSize = args['shm-size'] || args.shmSize || '2g';
|
|
311
329
|
const recreate = args.recreate === true;
|
|
330
|
+
const gpu = args.gpu === true;
|
|
312
331
|
const includedServices = resolveServiceFlags(args);
|
|
313
332
|
switch (subcommand) {
|
|
314
333
|
case 'start':
|
|
315
334
|
await startContainer({ name, image, port, user, password, shmSize, recreate });
|
|
316
335
|
for (const service of includedServices) {
|
|
317
|
-
await startService(service, recreate);
|
|
336
|
+
await startService(service, recreate, gpu);
|
|
318
337
|
}
|
|
319
338
|
break;
|
|
320
339
|
case 'stop':
|
package/esm/commands/docker.js
CHANGED
|
@@ -23,6 +23,8 @@ PostgreSQL Options:
|
|
|
23
23
|
|
|
24
24
|
Additional Services:
|
|
25
25
|
--minio Include MinIO S3-compatible object storage (API: 9000, Console: 9001)
|
|
26
|
+
--ollama Include Ollama LLM inference server (API: 11434)
|
|
27
|
+
--gpu Enable NVIDIA GPU passthrough for Ollama (requires NVIDIA Container Toolkit)
|
|
26
28
|
|
|
27
29
|
General Options:
|
|
28
30
|
--help, -h Show this help message
|
|
@@ -31,12 +33,15 @@ General Options:
|
|
|
31
33
|
Examples:
|
|
32
34
|
pgpm docker start Start PostgreSQL only
|
|
33
35
|
pgpm docker start --minio Start PostgreSQL + MinIO
|
|
36
|
+
pgpm docker start --ollama Start PostgreSQL + Ollama (CPU)
|
|
37
|
+
pgpm docker start --ollama --gpu Start PostgreSQL + Ollama (NVIDIA GPU)
|
|
34
38
|
pgpm docker start --port 5433 Start on custom port
|
|
35
39
|
pgpm docker start --shm-size 4g Start with 4GB shared memory
|
|
36
40
|
pgpm docker start --recreate Remove and recreate containers
|
|
37
41
|
pgpm docker start --recreate --minio Recreate PostgreSQL + MinIO
|
|
38
42
|
pgpm docker stop Stop PostgreSQL
|
|
39
43
|
pgpm docker stop --minio Stop PostgreSQL + MinIO
|
|
44
|
+
pgpm docker stop --ollama Stop PostgreSQL + Ollama
|
|
40
45
|
pgpm docker ls List services and status
|
|
41
46
|
`;
|
|
42
47
|
const ADDITIONAL_SERVICES = {
|
|
@@ -54,6 +59,16 @@ const ADDITIONAL_SERVICES = {
|
|
|
54
59
|
command: ['server', '/data', '--console-address', ':9001'],
|
|
55
60
|
volumes: [{ name: 'minio-data', containerPath: '/data' }],
|
|
56
61
|
},
|
|
62
|
+
ollama: {
|
|
63
|
+
name: 'ollama',
|
|
64
|
+
image: 'ollama/ollama',
|
|
65
|
+
ports: [
|
|
66
|
+
{ host: 11434, container: 11434 },
|
|
67
|
+
],
|
|
68
|
+
env: {},
|
|
69
|
+
volumes: [{ name: 'ollama-data', containerPath: '/root/.ollama' }],
|
|
70
|
+
gpuCapable: true,
|
|
71
|
+
},
|
|
57
72
|
};
|
|
58
73
|
function run(command, args, options = {}) {
|
|
59
74
|
return new Promise((resolve, reject) => {
|
|
@@ -190,7 +205,7 @@ async function stopContainer(name) {
|
|
|
190
205
|
await cliExitWithError(`Failed to stop container "${name}"`);
|
|
191
206
|
}
|
|
192
207
|
}
|
|
193
|
-
async function startService(service, recreate) {
|
|
208
|
+
async function startService(service, recreate, gpu = false) {
|
|
194
209
|
const { name, image, ports, env: serviceEnv, command } = service;
|
|
195
210
|
const exists = await containerExists(name);
|
|
196
211
|
const running = await isContainerRunning(name);
|
|
@@ -234,6 +249,9 @@ async function startService(service, recreate) {
|
|
|
234
249
|
runArgs.push('-v', `${vol.name}:${vol.containerPath}`);
|
|
235
250
|
}
|
|
236
251
|
}
|
|
252
|
+
if (gpu && service.gpuCapable) {
|
|
253
|
+
runArgs.push('--gpus', 'all');
|
|
254
|
+
}
|
|
237
255
|
runArgs.push(image);
|
|
238
256
|
if (command) {
|
|
239
257
|
runArgs.push(...command);
|
|
@@ -307,12 +325,13 @@ export default async (argv, _prompter, _options) => {
|
|
|
307
325
|
const password = args.password || 'password';
|
|
308
326
|
const shmSize = args['shm-size'] || args.shmSize || '2g';
|
|
309
327
|
const recreate = args.recreate === true;
|
|
328
|
+
const gpu = args.gpu === true;
|
|
310
329
|
const includedServices = resolveServiceFlags(args);
|
|
311
330
|
switch (subcommand) {
|
|
312
331
|
case 'start':
|
|
313
332
|
await startContainer({ name, image, port, user, password, shmSize, recreate });
|
|
314
333
|
for (const service of includedServices) {
|
|
315
|
-
await startService(service, recreate);
|
|
334
|
+
await startService(service, recreate, gpu);
|
|
316
335
|
}
|
|
317
336
|
break;
|
|
318
337
|
case 'stop':
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pgpm",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.16.0",
|
|
4
4
|
"author": "Constructive <developers@constructive.io>",
|
|
5
5
|
"description": "PostgreSQL Package Manager - Database migration and package management CLI",
|
|
6
6
|
"main": "index.js",
|
|
@@ -46,19 +46,19 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@inquirerer/utils": "^3.3.5",
|
|
49
|
-
"@pgpmjs/core": "^6.
|
|
50
|
-
"@pgpmjs/env": "^2.
|
|
51
|
-
"@pgpmjs/export": "^0.
|
|
52
|
-
"@pgpmjs/logger": "^2.
|
|
53
|
-
"@pgpmjs/types": "^2.
|
|
49
|
+
"@pgpmjs/core": "^6.12.0",
|
|
50
|
+
"@pgpmjs/env": "^2.18.0",
|
|
51
|
+
"@pgpmjs/export": "^0.4.0",
|
|
52
|
+
"@pgpmjs/logger": "^2.6.0",
|
|
53
|
+
"@pgpmjs/types": "^2.22.0",
|
|
54
54
|
"@pgsql/quotes": "^17.1.0",
|
|
55
55
|
"appstash": "^0.7.0",
|
|
56
56
|
"find-and-require-package-json": "^0.9.1",
|
|
57
57
|
"genomic": "^5.3.9",
|
|
58
58
|
"inquirerer": "^4.7.0",
|
|
59
59
|
"js-yaml": "^4.1.0",
|
|
60
|
-
"pg-cache": "^3.
|
|
61
|
-
"pg-env": "^1.
|
|
60
|
+
"pg-cache": "^3.5.0",
|
|
61
|
+
"pg-env": "^1.9.0",
|
|
62
62
|
"pgsql-deparser": "^17.18.2",
|
|
63
63
|
"semver": "^7.7.4",
|
|
64
64
|
"shelljs": "^0.10.0",
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"pg",
|
|
77
77
|
"pgsql"
|
|
78
78
|
],
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "1b3af3c5189b9ca2e765b9239a4b287099e64a03"
|
|
80
80
|
}
|