Skip to content

Instantly share code, notes, and snippets.

@werty1st
Last active March 7, 2023 12:54
Show Gist options
  • Save werty1st/3d2d8690260cc87fd9fd9cf5f88b79c1 to your computer and use it in GitHub Desktop.
Save werty1st/3d2d8690260cc87fd9fd9cf5f88b79c1 to your computer and use it in GitHub Desktop.
shedule docker-compose updates

Demo Project Layout

.
├── docker-compose.yml
├── grafana
│   ├── config.monitoring
│   └── provisioning
├── nodejs-demo
│   ├── main.js
│   ├── node_modules
│   ├── package.json
│   └── yarn.lock
├── prometheus
│   ├── alert.rules
│   └── prometheus.yml
└── update-service
    └── docker-compose.yml
version: '3.2'
services:
ofelia:
image: mcuadros/ofelia:latest
command: daemon --docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- update
compose:
image: docker/compose
working_dir: ${DIR}
command: "up"
volumes:
- ${DIR}:${DIR}
- /var/run/docker.sock:/var/run/docker.sock
labels:
ofelia.job-exec.update-job.schedule: "@midnight"
ofelia.job-exec.update-job.command: "sh -c 'docker-compose pull && docker-compose up --detach'"
ofelia.enabled: "true"
# Setup
# DIR=$(pwd) docker-compose -f update-service/docker-compose.yml up -d
version: '3.2'
volumes:
prometheus_data: {}
grafana_data: {}
networks:
front-tier:
back-tier:
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
depends_on:
- cadvisor
grafana:
image: grafana/grafana
user: "472"
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
env_file:
- ./grafana/config.monitoring
restart: always
node-demo:
image: node:current-alpine3.11
ports:
- 3001:3000
working_dir: /usr/src/app
entrypoint: ["/bin/sh"]
command: ["-c", "yarn install && node main.js"]
volumes:
- ./nodejs-demo:/usr/src/app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment