https://github.com/bots-house/portainer-deploy-stack-action
🚚 Action for deploy Docker Stack via Portainer API (β)
https://github.com/bots-house/portainer-deploy-stack-action
docker docker-swarm github-actions
Last synced: 10 months ago
JSON representation
🚚 Action for deploy Docker Stack via Portainer API (β)
- Host: GitHub
- URL: https://github.com/bots-house/portainer-deploy-stack-action
- Owner: bots-house
- License: mit
- Created: 2020-12-29T09:55:40.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-08-08T16:18:29.000Z (11 months ago)
- Last Synced: 2025-08-08T16:36:15.056Z (11 months ago)
- Topics: docker, docker-swarm, github-actions
- Language: TypeScript
- Homepage:
- Size: 784 KB
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# portainer-deploy-stack-action
Deploy your services to [Docker Swarm](https://docs.docker.com/engine/swarm/) cluster via [Portainer](https://www.portainer.io).
## Features
- create stack if not exists, update if already exists
- grant access to spicified teams
- works via [Portainer API](https://documentation.portainer.io/archive/1.23.2/API/)
## Usage
```yaml
name: CI
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: bots-house/portainer-deploy-stack-action
with:
# url of Poratainer instance
portainer-url: ${{ secrets.PORTAINER_URL }}
# portainer auth
portainer-username: ${{ secrets.PORTAINER_USERNAME }}
portainer-password: ${{ secrets.PORTAINER_PASSWORD }}
# internal portainer cluster id
portainer-endpoint: 1
# stack name
stack-name: whoami
# docker stack file location
stack-file: .github/stack/staging.yml
# vars to substitute in stack
stack-vars: |
DOMAIN: whoami.${{ secrets.DOMAIN }}
# grant access for specified teams
teams: Microservices, Bots House Family
```