30 Commits

Author SHA1 Message Date
fa39f8b7d4 add LOG_LEVEL env var
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-28 10:05:35 +00:00
1920c68eba update readme [CI SKIP] 2023-05-28 08:59:04 +00:00
d293cbaef9 add nano, change editor to it 2023-05-28 08:43:01 +00:00
6ac07ec9a0 cleanup misc files in app dir
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 22:05:58 +00:00
ab73132553 set permissions to 1000 at build
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 21:58:31 +00:00
76cdb2640e fix to defined cronicle version 2023-05-27 21:53:40 +00:00
f1f322d58a rename user to cronicle 2023-05-27 18:46:23 +00:00
bfbc0e22d7 fix not hooking conf in if already setup
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 18:15:12 +00:00
f3dc829111 get correct s6 for architecture
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 17:49:19 +00:00
9c3caf751e Merge pull request '1.0.0' (#1) from develop into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #1
2023-05-27 16:53:07 +00:00
1ac78908ad tweak build behaviour [CI SKIP] 2023-05-27 16:49:13 +00:00
f990871798 updated readme [CI SKIP] 2023-05-27 16:46:47 +00:00
2ecac58414 add .gitignore [CI SKIP] 2023-05-27 15:37:58 +00:00
613393f328 redesign around s6-overlay
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 13:43:46 +00:00
30026b4e17 update readme [CI SKIP] 2023-05-27 13:42:38 +00:00
580845afe0 add goreleaser [CI SKIP] 2023-05-27 13:40:53 +00:00
d4aa8ff410 update drone behaviour [CI SKIP] 2023-05-27 13:40:44 +00:00
b3436f3b2c create cronicle user at build
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-29 23:49:45 +00:00
4541df4c8a Merge branch 'main' of https://git.mrmeeb.stream/MrMeeb/cronicle-docker
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-29 20:36:16 +00:00
26c3a15c81 logic fixes 2022-12-29 20:36:15 +00:00
e10acf4e46 Update '.drone.yml'
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-29 19:41:42 +00:00
2d8fb52b23 Update '.drone.yml'
Some checks failed
continuous-integration/drone/push Build is failing
2022-12-29 19:03:26 +00:00
511704a90f drone notify on failure
Some checks reported errors
continuous-integration/drone/push Build was killed
2022-12-29 17:51:38 +00:00
70d6215ca3 Add logic to detect if config is missing as worker
Some checks failed
continuous-integration/drone/push Build is failing
2022-12-29 17:46:57 +00:00
d759db2bb0 Update '.drone.yml'
All checks were successful
continuous-integration/drone/push Build is passing
2022-12-27 11:48:39 +00:00
c04d6febad Merge branch 'main' of https://git.mrmeeb.stream/MrMeeb/cronicle-docker
Some checks reported errors
continuous-integration/drone/push Build was killed
2022-12-27 11:44:58 +00:00
cad9b48ab9 add drone, add logic for init scripts 2022-12-27 11:44:51 +00:00
327208391b Update 'README.md' 2022-12-26 22:31:41 +00:00
ee7034cba3 more dev 2022-12-26 22:30:42 +00:00
78f681fb41 first commit 2022-12-26 18:21:10 +00:00
7 changed files with 36 additions and 215 deletions

View File

@ -1,11 +1,12 @@
kind: pipeline
type: docker
name: build-release-images
name: build-main-images
trigger:
event:
exclude:
- pull_request
ref:
- refs/heads/main
- refs/tags/**
platform:
@ -18,100 +19,11 @@ steps:
image: docker:git
commands:
- git fetch --tags
depends_on:
- clone
- name: make-tags
image: node
commands:
- echo -n "${DRONE_TAG}, latest" > .tags
depends_on:
- get-tags
- name: build-gitea
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
provenance: false
registry: git.mrmeeb.stream
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: git.mrmeeb.stream/mrmeeb/cronicle
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: build-github
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
provenance: false
registry: ghcr.io
username:
from_secret: docker_username
password:
from_secret: github_token
repo: ghcr.io/mrmeeb/cronicle
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: release-gitea
image: goreleaser/goreleaser
environment:
GITEA_TOKEN:
from_secret: gitea_token
commands:
- goreleaser release -f .goreleaser-gitea.yaml
depends_on:
- build-gitea
- name: release-github
image: goreleaser/goreleaser
environment:
GITHUB_TOKEN:
from_secret: github_token
commands:
- goreleaser release -f .goreleaser-github.yaml
depends_on:
- build-github
- name: notify
image: plugins/slack
when:
status:
- success
- failure
settings:
webhook:
from_secret: slack_webhook
depends_on:
- release-gitea
- release-github
---
kind: pipeline
type: docker
name: build-main-images
trigger:
event:
exclude:
- pull_request
ref:
- refs/heads/main
platform:
os: linux
arch: amd64
steps:
ref:
- refs/tags/**
# Set tags for main branch
- name: make-tags
image: node
commands:
@ -119,10 +31,17 @@ steps:
when:
ref:
- refs/heads/main
depends_on:
- clone
- name: build-gitea
- name: make-tags-release
image: node
commands:
- echo -n "${DRONE_TAG}, latest" > .tags
when:
ref:
- refs/tags/**
# Build containers from main branch
- name: build
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
@ -136,25 +55,17 @@ steps:
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: build-github
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
provenance: false
registry: ghcr.io
username:
from_secret: docker_username
password:
from_secret: github_token
repo: ghcr.io/mrmeeb/cronicle
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: release
image: goreleaser/goreleaser
environment:
GITEA_TOKEN:
from_secret: gitea_token
commands:
- goreleaser release
when:
ref:
- refs/tags/**
- name: notify
image: plugins/slack
@ -165,9 +76,6 @@ steps:
settings:
webhook:
from_secret: slack_webhook
depends_on:
- build-github
- build-gitea
---
kind: pipeline
@ -192,7 +100,7 @@ steps:
- echo -n "develop-${DRONE_COMMIT_SHA:0:8}, develop" > .tags
# Build containers from develop branch
- name: build-gitea
- name: build
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
@ -206,25 +114,6 @@ steps:
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: build-github
image: thegeeklab/drone-docker-buildx
privileged: true
settings:
provenance: false
registry: ghcr.io
username:
from_secret: docker_username
password:
from_secret: github_token
repo: ghcr.io/mrmeeb/cronicle
platforms:
- linux/arm64
- linux/amd64
depends_on:
- make-tags
- name: notify
image: plugins/slack
@ -234,7 +123,4 @@ steps:
- failure
settings:
webhook:
from_secret: slack_webhook
depends_on:
- build-gitea
- build-github
from_secret: slack_webhook

3
.gitignore vendored
View File

@ -1,3 +1,2 @@
dist-gitea/
dist-github/
dist/
.tags

View File

@ -1,20 +0,0 @@
dist: dist-github
build:
skip: true
archives:
- format: binary
release:
draft: true
github:
owner: MrMeeb
name: cronicle-docker
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'

View File

@ -1,5 +1,3 @@
dist: dist-gitea
build:
skip: true

View File

@ -10,7 +10,7 @@ ENV S6_OVERLAY_ARCH=aarch64
FROM base-${TARGETARCH}${TARGETVARIANT}
ARG S6_OVERLAY_VERSION=3.1.5.0
ARG CRONICLE_EDGE_VERSION=.1.6.3
ARG CRONICLE_EDGE_VERSION=1.6.2
ENV CRONICLE_foreground=1
ENV CRONICLE_echo=1

View File

@ -1,41 +1,17 @@
# Cronicle Docker
![Drone (self-hosted) with branch](https://img.shields.io/drone/build/MrMeeb/cronicle-docker/main?label=latest&server=https%3A%2F%2Fdrone.mrmeeb.stream&style=for-the-badge) ![Drone (self-hosted) with branch](https://img.shields.io/drone/build/MrMeeb/cronicle-docker/develop?label=develop&server=https%3A%2F%2Fdrone.mrmeeb.stream&style=for-the-badge)
![Drone (self-hosted) with branch](https://img.shields.io/drone/build/MrMeeb/cronicle-docker/main?label=main&server=https%3A%2F%2Fdrone.mrmeeb.stream&style=for-the-badge) ![Drone (self-hosted) with branch](https://img.shields.io/drone/build/MrMeeb/cronicle-docker/develop?label=develop&server=https%3A%2F%2Fdrone.mrmeeb.stream&style=for-the-badge)
Dockerised Cronicle, based on the [Cronicle-Edge](https://github.com/cronicle-edge/cronicle-edge) fork of [Cronicle](https://github.com/jhuckaby/Cronicle). This container was built to include features I value in containers, namely logging to `stdout` and configurable `PUID` and `PGID`.
Dockerised Cronicle, based on the [Cronicle-Edge](https://github.com/cronicle-edge/cronicle-edge) fork.
This container can function in both the **manager** and **worker** role.
## Links
- :tea: [Gitea Repo (source)](https://git.mrmeeb.stream/MrMeeb/cronicle-docker)
- :whale2: [Containers](https://git.mrmeeb.stream/MrMeeb/-/packages/container/cronicle/latest) (also published to GHCR)
- :mirror: [GitHub mirror](https://github.com/MrMeeb/cronicle-docker)
- :package: [Cronicle Repo](https://github.com/jhuckaby/Cronicle)
- :package: [Cronicle-Edge Repo](https://github.com/cronicle-edge/cronicle-edge)
Can function in both the **manager** and **worker** role.
*This repo is mirrored to GitHub*
## Overview
[**Cronicle**](https://github.com/jhuckaby/Cronicle) is a multi-server task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. It's basically a fancy [Cron](https://en.wikipedia.org/wiki/Cron) replacement written in [Node.js](https://nodejs.org/). You can give it simple shell commands, or write Plugins in virtually any language.
![Main Screenshot](https://pixlcore.com/software/cronicle/screenshots-new/job-details-complete.png)
## Features at a Glance
* Single or multi-server setup.
* Automated failover to backup servers.
* Auto-discovery of nearby servers.
* Real-time job status with live log viewer.
* Plugins can be written in any language.
* Schedule events in multiple timezones.
* Optionally queue up long-running events.
* Track CPU and memory usage for each job.
* Historical stats with performance graphs.
* Simple JSON messaging system for Plugins.
* Web hooks for external notification systems.
* Simple REST API for scheduling and running events.
* API Keys for authenticating remote apps.
## Links
- :tea: [Gitea Repo (source)](https://git.mrmeeb.stream/MrMeeb/cronicle-docker)
- :whale2: [Containers](https://git.mrmeeb.stream/MrMeeb/-/packages/container/cronicle/latest) - since I'm currently not also publishing them to ghcr.io
- :mirror: [GitHub mirror](https://github.com/MrMeeb/cronicle-docker)
## Tags

View File

@ -103,22 +103,4 @@ else
echo "'$MODE' is not a recognised appion for the MODE environment variable. Accepted appions are 'manager' and 'worker'."
fi
#Expose log directory
if [ ! -d /config/cronicle/logs ]
then
echo "Logs dir is missing, creating."
cp -r /app/cronicle/logs /config/cronicle/logs
rm -rf /app/cronicle/logs
ln -s /config/cronicle/logs /app/cronicle/logs
else
echo "Logs dir already exists. Doesn't need creating."
echo "Linking persistent logs dir back into Cronicle."
rm -rf /app/cronicle/logs
ln -s /config/cronicle/logs /app/cronicle/logs
fi