README
Portainer Update
This tool can be used to update a stack via the portainer project.
Feature list
- Update existing stacks
- Read a docker-compose file from file system
- Make tool available through npx
- Deploy new stacks
- Command line tool
Usage
==Attention: Portainer only supports compose file version 2 at the moment==
Example Usage
As package
const { Auth, Deploy, Update, GetStackByName } = require('portainer-update');
const url = "http://localhost:9000/api";
Auth("username", "password", url)
.then(async (response) => {
const stacks = [];
const stackid = await GetStackByName(response.jwt, url, "stackname");
// JsonWebToken, Portainer api url, id of stack which should be updated,
// endpoint id, docker compose as string
stacks.push(await Update(response.jwt, url, stackid, 1, "compose string"));
// JsonWebToken, Portainer api url, name of the new stack which will be deployed,
// endpoint id, docker compose as string
stacks.push(await Deploy(response.jwt, url, "stackname", 1, "compose string"));
console.info(JSON.stringify(stacks));
});
In Terminal
npx portainer-update -p <Stackname> -u <Portainer Username> --password <Portainer Password> -f <Path to docker compose> -s <Portainer URL>
Parameters
|Parameter|Name|Description|Required|
|:--:|--|:--|:--:|
|-h | --help|Help|Show this parameter table||
|-e | --env|Envrionment|At the moment this parameter has no effect||
|-p | --project|Stackname|The name of the stack you want to update|X|
|-u | --user|Portainer Username|The username of the user which will update the stack ==The user need the permission to edit the stack==|X|
|--password|Portainer Password|This tool is for use in CiCD pipelines so please provide the password as a secret variable|X|
|-f | --compose|Path to compose|Fill in the path to the compose file, which you want to deploy|X|
|-s | --portainersystem|Portainer API URL|The address where to find portainer API (The url you are browsing to in your browser)|Default value: http://localhost:9000
|
|--endpoint|Endpoint ID|The id of the endpoint where the stack should be deployed|Default value: 1
|