Portainer deployer service
271
NodeJS application that deploys/updates portainer stack with new version of containers.
export PORTAINER_API="http://localhost:9000/api"
# Development
npm run start:dev
# Production
npm run start
# Development run commands
DISABLE_AUTH=1 PORTAINER_API=http://localhost:9000/api npm run start:dev
PORTAINER_API=http://localhost:9000/api npm run start:dev
docker build -t <tag> .
docker create \
--name=deployer \
-e PORTAINER_API="http://localhost:9000/api" \
-e TZ=Europe/Ljubljana \
-p 3000:3000 \
--restart unless-stopped \
slocomptech/portainer-deployer
version: "2"
services:
portainer-deployer:
image: slocomptech/portainer-deployer
container_name: portainer-deployer
environment:
- PORTAINER_API="http://localhost:9000/api"
- TZ=Europe/Ljubljana
ports:
- "3000:3000"
restart: unless-stopped
| Parameter | Function |
|---|---|
-e DISABLE_AUTH=true | Disable authentication |
-e PORTAINER_API=http(s)://<url>/api | Portainer API URL (required) |
-e PORTAINER_USER=<username> | Portainer (default) username |
-e PORTAINER_PASS=<password> | Portainer (default) password |
-e CONFIG=<path to config file> | Custom config file path. |
-e LOG_LEVEL=verbose | Enable app output see docs |
-e FAIL_MODE=hard | What to do if services fail. |
-e PUID=1000 | for UserID - see below for explanation |
-e PGID=1000 | for GroupID - see below for explanation |
-e SKIP_APP=true | Don't start app, useful for development. |
-e TZ=Europe/London | Specify a timezone to use EG Europe/London. |
-v <path>:/config | All the config files reside here. |
-p 3000:3000 | Expose port |
Request metod is POST and depends on handler, but in general request looks like
{
"handler": "default", /* Handler name, if omitted default is 'default' */
"data": {
/* Data send to handler */
}
}
Authenitcation of app is linked to portainer API login, so it hasn't any internal authentication mechanisms. But there are multiple ways of authentication:
Authorization: Bearer <Portainer auth token>Authorization: Basic <base64 encoded user:pass>PORTAINER_USER, PORTAINER_PASS environment variables.Default handler changes value of existing environment variables of stack and triggers redeploy.
{
"data": {
"stack": "<stack name>",
"env": {
"<varname>": "<value>"
}
}
}
Content type
Image
Digest
Size
128 MB
Last updated
over 6 years ago
docker pull slocomptech/portainer-deployer