Compare commits
16 Commits
d85d746aa4
...
main
Author | SHA1 | Date | |
---|---|---|---|
3e794d161c | |||
73727c627f | |||
da585d4b17 | |||
dc1da1989d | |||
271fc8ba99 | |||
fc8a526637 | |||
bf4b6659ee | |||
cf8ad5e8db | |||
72e904fb63 | |||
60486b2abd | |||
0c5969af8c | |||
a6fb1aa4d4 | |||
24553291ef | |||
79057e8450 | |||
549b4ce39c | |||
de45ba5398 |
34
README.md
Normal file
34
README.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# 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`
|
@ -2,7 +2,7 @@ name: portainer
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
portainer-ce:
|
portainer-ce:
|
||||||
image: portainer/portainer-ce:2.27.3
|
image: portainer/portainer-ce:2.31.0
|
||||||
container_name: portainer
|
container_name: portainer
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -2,5 +2,14 @@
|
|||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"extends": [
|
"extends": [
|
||||||
"config:recommended"
|
"config:recommended"
|
||||||
|
],
|
||||||
|
"labels": ["renovate"],
|
||||||
|
"configMigration": true,
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"matchUpdateTypes": ["minor", "patch"],
|
||||||
|
"automerge": true,
|
||||||
|
"ignoreTests": true
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
13
update.sh
Executable file
13
update.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
|
local_head=$(git rev-parse HEAD)
|
||||||
|
upstream_ref=$(git rev-parse --abbrev-ref @{u} | sed 's/\// /')
|
||||||
|
remote_head=$(git ls-remote $upstream_ref | cut -f1)
|
||||||
|
|
||||||
|
if [[ $local_head != $remote_head ]]; then
|
||||||
|
git pull
|
||||||
|
docker compose pull
|
||||||
|
docker compose up -d
|
||||||
|
fi
|
Reference in New Issue
Block a user