35 lines
1.2 KiB
Markdown

# Docker Compose Repository: Portainer
This repo contains a docker compose file to deploy Portainer Community Edition
## Deployment
- Clone the repository
- `cd` into the cloned folder
- Deploy the stack via `docker compose up -d`
## Updating
Since Portainer cannot manage stacks that were created outside of itself, updates must be handled separately.
The necessary steps are:
- Update tag in `docker-compose.yaml`
- `docker compose pull`
- `docker compose up -d`
### Automatic updates via cron
This repository contains an [update script](update.sh) for use with cron. It checks whether the remote had new commits that are not present locally. If this is the case, it pulls from remote and redeploys the stack.
For example, the following entry can be used to set up a user cron job with `crontab -e`, assuming that the repository is stored in `/srv/portainer`.
```
15,45 * * * * /srv/portainer/update.sh 2>&1 | logger -t portainerupdate
```
- The script runs every 30 minutes at minute 15 and 45
- Messages from `stderr` are redirected to `stdout`
- Output is piped to logger, tagged as `portainerupdate`
- It can be viewed with `journalctl -t portainerupdate`