48 Commits

Author SHA1 Message Date
0729a4454b add ssl compatibility
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-03 22:46:41 +00:00
a123d0fecd Merge pull request 'add reverse-proxy details' (#7) from develop into main [CI SKIP]
Reviewed-on: #7
2023-06-26 20:12:28 +00:00
1286d2053a add reverse-proxy details [CI SKIP] 2023-06-26 20:11:19 +00:00
1a9addf796 Merge pull request 'update to cronicle-edge 1.6.3' (#6) from develop into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #6
2023-06-25 13:33:44 +00:00
4019df3cce add period to cronicle-edge version
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-25 13:28:58 +00:00
0774624fbc update to cronicle-edge 1.6.3
Some checks failed
continuous-integration/drone/push Build is failing
2023-06-25 13:25:25 +00:00
8c21c43bfd add new pipeline for better building [CI SKIP] 2023-06-05 21:52:50 +00:00
504aa38362 Merge pull request 'typo correction on readme [CI SKIP]' (#5) from develop into main [CI SKIP]
All checks were successful
continuous-integration/drone/tag Build is passing
Reviewed-on: #5
2023-06-05 21:19:16 +00:00
5fcb0c0e08 typo correction on readme [CI SKIP] 2023-06-05 21:18:31 +00:00
aace951501 Merge pull request 'fix drone release build dependency graph' (#4) from develop into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #4
2023-06-05 21:09:47 +00:00
193f104408 fix drone release build dependency graph
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-05 21:04:42 +00:00
c4e8faff3b Merge pull request '1.0.2' (#3) from develop into main
Some checks reported errors
continuous-integration/drone/push Build was killed
Reviewed-on: #3
2023-06-05 20:50:04 +00:00
0080d188ab update readme [CI SKIP] 2023-06-05 20:49:35 +00:00
eefaba12cb fix drone dependency graph
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-05 20:43:23 +00:00
114c87fefe drone build and public to ghcr also 2023-06-05 20:43:23 +00:00
a8eb04c76b expose log dir to /config volume 2023-06-05 20:43:23 +00:00
debd509868 add cronicle info to readme [CI SKIP] 2023-06-05 20:43:23 +00:00
e8d9f7c8cd add LOG_LEVEL env var 2023-06-05 20:43:23 +00:00
98ab91f73f update readme [CI SKIP] 2023-06-05 20:43:23 +00:00
694ba8f5ce add nano, change editor to it 2023-06-05 20:43:23 +00:00
c232595f36 Merge pull request '1.0.1' (#2) from develop into main
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Reviewed-on: #2
2023-05-27 22:10:46 +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
4 changed files with 123 additions and 32 deletions

View File

@ -1,12 +1,11 @@
kind: pipeline
type: docker
name: build-main-images
name: build-release-images
trigger:
event:
exclude:
- pull_request
ref:
- refs/heads/main
- refs/tags/**
platform:
@ -19,36 +18,16 @@ steps:
image: docker:git
commands:
- git fetch --tags
when:
ref:
- refs/tags/**
depends_on:
- clone
# Set tags for main branch
- name: make-tags
image: node
commands:
- echo -n "${DRONE_COMMIT_SHA:0:8}, latest" > .tags
when:
ref:
- refs/heads/main
depends_on:
- get-tags
- clone
- name: make-tags-release
image: node
commands:
- echo -n "${DRONE_TAG}, latest" > .tags
when:
ref:
- refs/tags/**
depends_on:
- get-tags
- clone
# Build containers from main branch
- name: build-gitea
image: thegeeklab/drone-docker-buildx
privileged: true
@ -65,7 +44,6 @@ steps:
- linux/amd64
depends_on:
- make-tags
- make-tags-release
- name: build-github
image: thegeeklab/drone-docker-buildx
@ -83,7 +61,6 @@ steps:
- linux/amd64
depends_on:
- make-tags
- make-tags-release
- name: release-gitea
image: goreleaser/goreleaser
@ -92,9 +69,6 @@ steps:
from_secret: gitea_token
commands:
- goreleaser release -f .goreleaser-gitea.yaml
when:
ref:
- refs/tags/**
depends_on:
- build-gitea
@ -105,9 +79,6 @@ steps:
from_secret: github_token
commands:
- goreleaser release -f .goreleaser-github.yaml
when:
ref:
- refs/tags/**
depends_on:
- build-github
@ -123,6 +94,78 @@ steps:
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:
- name: make-tags
image: node
commands:
- echo -n "${DRONE_COMMIT_SHA:0:8}, latest" > .tags
when:
ref:
- refs/heads/main
depends_on:
- clone
- 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: notify
image: plugins/slack
when:
status:
- success
- failure
settings:
webhook:
from_secret: slack_webhook
depends_on:
- build-github
- build-gitea

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.2
ARG CRONICLE_EDGE_VERSION=.1.6.3
ENV CRONICLE_foreground=1
ENV CRONICLE_echo=1
@ -23,7 +23,7 @@ ENV TZ=UTC
ENV LOG_LEVEL=9
#Get required packages
RUN apk update && apk add tzdata curl shadow bash xz git procps nodejs npm nano
RUN apk update && apk add tzdata curl shadow bash xz git procps nodejs npm nano openssl
#Make folders
RUN mkdir /config && \
@ -57,5 +57,6 @@ RUN chmod +x /cronicle-prepare.sh && \
chown -R ${PUID}:${PGID} /app /config
EXPOSE 3012
EXPOSE 3013
ENTRYPOINT [ "/init" ]

View File

@ -92,6 +92,35 @@ services:
This container automatically checks for scripts in `/config/init` and runs them at startup. This could be useful if you need to install additional applications into a worker container so it can execute jobs.
## Reverse Proxying
For a single manager behind a reverse proxy, you may need to specify a specific route for the web-socket connections.
An example using nginx:
```
location /socket.io/ {
client_max_body_size 2048m;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:3012/socket.io/;
}
```
Source: https://github.com/jhuckaby/Cronicle/issues/535
Load-balancing between multiple managers, as described [here](https://github.com/jhuckaby/Cronicle/blob/master/docs/Setup.md#load-balancers), has not been tested, and could behave strangely due to docker DNS.
## Ports
|Port |Description|

View File

@ -28,9 +28,11 @@ fi
if [ ! -d /config/cronicle ]
then
echo "Directory /config/cronicle not found. Creating."
mkdir /config/cronicle
fi
#Detecting what mode Cronicle should be started in
@ -48,15 +50,27 @@ then
cp -r /app/cronicle/conf /config/cronicle/conf
rm -rf /app/cronicle/conf
ln -s /config/cronicle/conf /app/cronicle/conf
else
echo "Config dir already exists. Doesn't need creating."
echo "Linking persistent config dir back into Cronicle."
rm -rf /app/cronicle/conf
ln -s /config/cronicle/conf /app/cronicle/conf
fi
if [ ! -f /config/cronicle/conf/ssl.crt ] || [ ! -f /config/cronicle/conf/ssl.key ]
then
echo "One or both SSL components are missing. Generating."
rm -f /config/cronicle/conf/ssl.crt /config/cronicle/conf/ssl.key
openssl req -x509 -newkey rsa:4096 -keyout /config/cronicle/conf/ssl.key -out /config/cronicle/conf/ssl.crt -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"
fi
if [ ! -f /config/cronicle/data/.setup_done ]
then
@ -88,6 +102,8 @@ then
then
echo "No config found. Copy config.json from the manager server and place it in /config/cronicle/conf dir."
echo "Don't forget to also copy the SSL certs if you're using SSL."
mkdir -p /config/cronicle/conf
exit 0
@ -114,10 +130,12 @@ then
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