Compare commits
	
		
			4 Commits
		
	
	
		
			f71ded1a01
			...
			add-cronma
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 997cd4f944 | |||
| ace5fc1d18 | |||
| f088247ac0 | |||
| e1b6d3132a | 
							
								
								
									
										22
									
								
								roles/docker/tasks/monitoring/cronmaster.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								roles/docker/tasks/monitoring/cronmaster.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					- name: make cronmaster directories
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: "{{ item }}"
 | 
				
			||||||
 | 
					    state: directory
 | 
				
			||||||
 | 
					  loop:
 | 
				
			||||||
 | 
					    - /opt/stacks/cronmaster
 | 
				
			||||||
 | 
					    - /opt/stacks/cronmaster/scripts
 | 
				
			||||||
 | 
					    - /opt/stacks/cronmaster/data
 | 
				
			||||||
 | 
					    - /opt/stacks/cronmaster/snippets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Template out the compose file
 | 
				
			||||||
 | 
					  ansible.builtin.template:
 | 
				
			||||||
 | 
					    src: cronmaster-compose.yml.j2
 | 
				
			||||||
 | 
					    dest: /opt/stacks/cronmaster/compose.yml
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    mode: '0644'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: deploy cronmaster stack
 | 
				
			||||||
 | 
					  community.docker.docker_compose_v2:
 | 
				
			||||||
 | 
					    project_src: /opt/stacks/cronmaster
 | 
				
			||||||
 | 
					    files:
 | 
				
			||||||
 | 
					      - compose.yml
 | 
				
			||||||
@@ -16,3 +16,7 @@
 | 
				
			|||||||
- name: Install gotify
 | 
					- name: Install gotify
 | 
				
			||||||
  import_tasks: gotify.yml
 | 
					  import_tasks: gotify.yml
 | 
				
			||||||
  tags: gotify
 | 
					  tags: gotify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Install cronmaster
 | 
				
			||||||
 | 
					  import_tasks: cronmaster.yml
 | 
				
			||||||
 | 
					  tags: cronmaster
 | 
				
			||||||
@@ -19,7 +19,7 @@ services:
 | 
				
			|||||||
      glance.url: https://{{ subdomains.appriseapi }}/
 | 
					      glance.url: https://{{ subdomains.appriseapi }}/
 | 
				
			||||||
      glance.description: Apprise api server
 | 
					      glance.description: Apprise api server
 | 
				
			||||||
      glance.id: apprise
 | 
					      glance.id: apprise
 | 
				
			||||||
    
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  config:
 | 
					  config:
 | 
				
			||||||
  attach:
 | 
					  attach:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,7 +37,7 @@ services:
 | 
				
			|||||||
      glance.parent: authentik
 | 
					      glance.parent: authentik
 | 
				
			||||||
      glance.name: Redis
 | 
					      glance.name: Redis
 | 
				
			||||||
  server:
 | 
					  server:
 | 
				
			||||||
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.3}
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.8.3}
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    command: server
 | 
					    command: server
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
@@ -64,7 +64,7 @@ services:
 | 
				
			|||||||
      glance.description: Authentication server
 | 
					      glance.description: Authentication server
 | 
				
			||||||
      glance.id: authentik
 | 
					      glance.id: authentik
 | 
				
			||||||
  worker:
 | 
					  worker:
 | 
				
			||||||
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.3}
 | 
					    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.8.3}
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    command: worker
 | 
					    command: worker
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ services:
 | 
				
			|||||||
      glance.icon: si:protoncalendar
 | 
					      glance.icon: si:protoncalendar
 | 
				
			||||||
      glance.url: https://{{ subdomains.cal }}/
 | 
					      glance.url: https://{{ subdomains.cal }}/
 | 
				
			||||||
      glance.description: CalDav server
 | 
					      glance.description: CalDav server
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  config:
 | 
					  config:
 | 
				
			||||||
  data:
 | 
					  data:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								roles/docker/templates/cronmaster-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								roles/docker/templates/cronmaster-compose.yml.j2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					services:
 | 
				
			||||||
 | 
					  cronmaster:
 | 
				
			||||||
 | 
					    image: ghcr.io/fccview/cronmaster:latest
 | 
				
			||||||
 | 
					    container_name: cronmaster
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    user: "root"
 | 
				
			||||||
 | 
					    privileged: true
 | 
				
			||||||
 | 
					    pid: "host"
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "{{ network.docker_host_ip }}:40123:3000"
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - DOCKER=true
 | 
				
			||||||
 | 
					      - HOST_PROJECT_DIR=/opt/stacks/cronmaster/scripts
 | 
				
			||||||
 | 
					      - HOST_CRONTAB_USER=root,phil
 | 
				
			||||||
 | 
					      - AUTH_PASSWORD={{ vault_cronmaster.password }}
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - /var/run/docker.sock:/var/run/docker.sock
 | 
				
			||||||
 | 
					      - /opt/stacks/cronmaster/scripts:/app/scripts
 | 
				
			||||||
 | 
					      - /opt/stacks/cronmaster/data:/app/data
 | 
				
			||||||
 | 
					      - /opt/stacks/cronmaster/snippets:/app/snippets
 | 
				
			||||||
 | 
					    labels:
 | 
				
			||||||
 | 
					      glance.url: "http://{{ network.docker_host_ip }}:40123/"
 | 
				
			||||||
 | 
					      glance.title: CronMaster
 | 
				
			||||||
 | 
					      glance.description: Cron job management interface
 | 
				
			||||||
 | 
					      glance.group: Infrastructure
 | 
				
			||||||
 | 
					      glance.parent: infrastructure
 | 
				
			||||||
 | 
					      glance.name: CronMaster
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					networks:
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    external: true
 | 
				
			||||||
 | 
					    name: "{{ docker.network_name }}"
 | 
				
			||||||
@@ -36,7 +36,7 @@ services:
 | 
				
			|||||||
      timeout: 10s
 | 
					      timeout: 10s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  dawarich_app:
 | 
					  dawarich_app:
 | 
				
			||||||
    image: freikin/dawarich:0.28.1
 | 
					    image: freikin/dawarich:latest
 | 
				
			||||||
    container_name: dawarich_app
 | 
					    container_name: dawarich_app
 | 
				
			||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.name: Dawarich
 | 
					      glance.name: Dawarich
 | 
				
			||||||
@@ -95,7 +95,7 @@ services:
 | 
				
			|||||||
          cpus: '0.50'
 | 
					          cpus: '0.50'
 | 
				
			||||||
          memory: '2G'
 | 
					          memory: '2G'
 | 
				
			||||||
  dawarich_sidekiq:
 | 
					  dawarich_sidekiq:
 | 
				
			||||||
    image: freikin/dawarich:0.28.1
 | 
					    image: freikin/dawarich:latest
 | 
				
			||||||
    container_name: dawarich_sidekiq
 | 
					    container_name: dawarich_sidekiq
 | 
				
			||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.parent: dawarich
 | 
					      glance.parent: dawarich
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,7 @@ services:
 | 
				
			|||||||
      glance.icon: si:apple
 | 
					      glance.icon: si:apple
 | 
				
			||||||
      glance.url: "https://{{ subdomains.gotify_assistant }}/"
 | 
					      glance.url: "https://{{ subdomains.gotify_assistant }}/"
 | 
				
			||||||
      glance.description: iOS notification assistant
 | 
					      glance.description: iOS notification assistant
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
    extra_hosts:
 | 
					    extra_hosts:
 | 
				
			||||||
      - "{{ subdomains.auth }}:{{ docker.hairpin_ip }}"
 | 
					      - "{{ subdomains.auth }}:{{ docker.hairpin_ip }}"
 | 
				
			||||||
      - "{{ subdomains.gotify }}:{{ docker.hairpin_ip }}"
 | 
					      - "{{ subdomains.gotify }}:{{ docker.hairpin_ip }}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
services:
 | 
					services:
 | 
				
			||||||
  gotosocial:
 | 
					  gotosocial:
 | 
				
			||||||
    image: docker.io/superseriousbusiness/gotosocial:0.19.1
 | 
					    image: docker.io/superseriousbusiness/gotosocial:latest
 | 
				
			||||||
    container_name: gotosocial
 | 
					    container_name: gotosocial
 | 
				
			||||||
    user: 1000:1000
 | 
					    user: 1000:1000
 | 
				
			||||||
    extra_hosts:
 | 
					    extra_hosts:
 | 
				
			||||||
@@ -44,23 +44,19 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.parent: gotosocial
 | 
					      glance.parent: gotosocial
 | 
				
			||||||
      glance.name: Backup
 | 
					      glance.name: Backup
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      BACKUP_FILENAME: backup-gts-%Y-%m-%dT%H-%M-%S.tar.gz
 | 
					      BACKUP_FILENAME: gts-backup-%Y-%m-%dT%H-%M-%S.tar.gz
 | 
				
			||||||
      BACKUP_LATEST_SYMLINK: backup-latest.tar.gz
 | 
					 | 
				
			||||||
      BACKUP_CRON_EXPRESSION: "0 9 * * *"
 | 
					      BACKUP_CRON_EXPRESSION: "0 9 * * *"
 | 
				
			||||||
      BACKUP_PRUNING_PREFIX: backup-
 | 
					      BACKUP_PRUNING_PREFIX: gts-
 | 
				
			||||||
      BACKUP_RETENTION_DAYS: 1
 | 
					      BACKUP_RETENTION_DAYS: 7
 | 
				
			||||||
      AWS_S3_BUCKET_NAME: tsolbackups
 | 
					      AWS_S3_BUCKET_NAME: tsolbackups
 | 
				
			||||||
      AWS_ENDPOINT: s3.us-west-004.backblazeb2.com 
 | 
					      AWS_ENDPOINT: s3.us-west-004.backblazeb2.com 
 | 
				
			||||||
      AWS_ACCESS_KEY_ID: {{ vault_backup.access_key_id }}
 | 
					      AWS_ACCESS_KEY_ID: {{ vault_backup.access_key_id }}
 | 
				
			||||||
      AWS_SECRET_ACCESS_KEY: {{ vault_backup.secret_access_key }}
 | 
					      AWS_SECRET_ACCESS_KEY: {{ vault_backup.secret_access_key }}
 | 
				
			||||||
      BACKUP_SKIP_BACKENDS_FROM_PRUNE: s3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - gotosocial:/backup/my-app-backup:ro
 | 
					      - gotosocial:/backup/gts-app-backup:ro
 | 
				
			||||||
      - /var/run/docker.sock:/var/run/docker.sock:ro
 | 
					      - /var/run/docker.sock:/var/run/docker.sock:ro
 | 
				
			||||||
      - ./backup:/archive
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  gotosocial:
 | 
					  gotosocial:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
version: "3.8"
 | 
					version: "3.8"
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  web:
 | 
					  web:
 | 
				
			||||||
    image: ghcr.io/karakeep-app/karakeep:0.25.0
 | 
					    image: ghcr.io/karakeep-app/karakeep:latest
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - data:/data
 | 
					      - data:/data
 | 
				
			||||||
@@ -22,12 +22,14 @@ services:
 | 
				
			|||||||
      glance.url: https://{{ subdomains.bookmarks }}/
 | 
					      glance.url: https://{{ subdomains.bookmarks }}/
 | 
				
			||||||
      glance.description: Bookmark manager
 | 
					      glance.description: Bookmark manager
 | 
				
			||||||
      glance.id: karakeep
 | 
					      glance.id: karakeep
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
  chrome:
 | 
					  chrome:
 | 
				
			||||||
    image: gcr.io/zenika-hub/alpine-chrome:123
 | 
					    image: gcr.io/zenika-hub/alpine-chrome:123
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.name: Chrome
 | 
					      glance.name: Chrome
 | 
				
			||||||
      glance.parent: karakeep
 | 
					      glance.parent: karakeep
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
    command:
 | 
					    command:
 | 
				
			||||||
      - --no-sandbox
 | 
					      - --no-sandbox
 | 
				
			||||||
      - --disable-gpu
 | 
					      - --disable-gpu
 | 
				
			||||||
@@ -41,6 +43,7 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.name: Meilisearch
 | 
					      glance.name: Meilisearch
 | 
				
			||||||
      glance.parent: karakeep
 | 
					      glance.parent: karakeep
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
    env_file:
 | 
					    env_file:
 | 
				
			||||||
      - .env
 | 
					      - .env
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@ services:
 | 
				
			|||||||
      glance.url: https://{{ subdomains.tasks }}/
 | 
					      glance.url: https://{{ subdomains.tasks }}/
 | 
				
			||||||
      glance.description: Task and calendar management
 | 
					      glance.description: Task and calendar management
 | 
				
			||||||
      glance.id: mmdl
 | 
					      glance.id: mmdl
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mmdl_db:
 | 
					  mmdl_db:
 | 
				
			||||||
    image: mysql:8.0
 | 
					    image: mysql:8.0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,6 +57,26 @@ services:
 | 
				
			|||||||
      glance.name: Tika
 | 
					      glance.name: Tika
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  backup:
 | 
				
			||||||
 | 
					    image: offen/docker-volume-backup:v2
 | 
				
			||||||
 | 
					    restart: always
 | 
				
			||||||
 | 
					    labels:
 | 
				
			||||||
 | 
					      glance.parent: paperlessngx
 | 
				
			||||||
 | 
					      glance.name: Backup
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      BACKUP_FILENAME: pngx-backup-%Y-%m-%dT%H-%M-%S.tar.gz
 | 
				
			||||||
 | 
					      BACKUP_CRON_EXPRESSION: "10 9 * * *"
 | 
				
			||||||
 | 
					      BACKUP_PRUNING_PREFIX: pngx-
 | 
				
			||||||
 | 
					      BACKUP_RETENTION_DAYS: 7
 | 
				
			||||||
 | 
					      AWS_S3_BUCKET_NAME: tsolbackups
 | 
				
			||||||
 | 
					      AWS_ENDPOINT: s3.us-west-004.backblazeb2.com 
 | 
				
			||||||
 | 
					      AWS_ACCESS_KEY_ID: {{ vault_backup.access_key_id }}
 | 
				
			||||||
 | 
					      AWS_SECRET_ACCESS_KEY: {{ vault_backup.secret_access_key }}
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - media:/backup/pngx-app-backup:ro
 | 
				
			||||||
 | 
					      - /var/run/docker.sock:/var/run/docker.sock:ro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  data:
 | 
					  data:
 | 
				
			||||||
  media:
 | 
					  media:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,6 +38,7 @@ services:
 | 
				
			|||||||
      glance.url: https://{{ subdomains.post }}/
 | 
					      glance.url: https://{{ subdomains.post }}/
 | 
				
			||||||
      glance.description: Social media scheduler
 | 
					      glance.description: Social media scheduler
 | 
				
			||||||
      glance.id: postiz
 | 
					      glance.id: postiz
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
  postiz-postgres:
 | 
					  postiz-postgres:
 | 
				
			||||||
    image: postgres:14.5
 | 
					    image: postgres:14.5
 | 
				
			||||||
@@ -57,6 +58,7 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.parent: postiz
 | 
					      glance.parent: postiz
 | 
				
			||||||
      glance.name: DB
 | 
					      glance.name: DB
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
  postiz-redis:
 | 
					  postiz-redis:
 | 
				
			||||||
    image: redis:7.2
 | 
					    image: redis:7.2
 | 
				
			||||||
    container_name: postiz-redis
 | 
					    container_name: postiz-redis
 | 
				
			||||||
@@ -71,6 +73,7 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
      glance.parent: postiz
 | 
					      glance.parent: postiz
 | 
				
			||||||
      glance.name: Redis
 | 
					      glance.name: Redis
 | 
				
			||||||
 | 
					      mag37.dockcheck.update: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user