35 lines
1.2 KiB
Markdown
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`
|