Compare commits
18 Commits
0dd1684ef9
...
main
Author | SHA1 | Date | |
---|---|---|---|
3e794d161c | |||
73727c627f | |||
da585d4b17 | |||
dc1da1989d | |||
271fc8ba99 | |||
fc8a526637 | |||
bf4b6659ee | |||
cf8ad5e8db | |||
72e904fb63 | |||
60486b2abd | |||
0c5969af8c | |||
a6fb1aa4d4 | |||
24553291ef | |||
79057e8450 | |||
549b4ce39c | |||
de45ba5398 | |||
d85d746aa4 | |||
6034333ff1 |
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:
|
||||
portainer-ce:
|
||||
image: portainer/portainer-ce:2.27.3
|
||||
image: portainer/portainer-ce:2.31.0
|
||||
container_name: portainer
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
|
15
renovate.json
Normal file
15
renovate.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"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