Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
FROM tomsquest/docker-radicale

RUN apk add make jq
RUN apk add util-linux

WORKDIR /

COPY production.mk $WORKDIR
COPY Makefile $WORKDIR
COPY .Radicale.props.jq $WORKDIR

RUN make -e APPLICATION=radicale -e DOMAIN=ocw.mit.edu

CMD radicale --server-hosts 0.0.0.0:$PORT --config /config/config
# CMD radicale --server-hosts 0.0.0.0:$PORT --config /config/config

28 changes: 15 additions & 13 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
JQ = $(shell which jq)
COLLECTION_ROOT = $(APPLICATION)/data/collections/collection-root
USER = admin
COLLECTION_ROOT = data/collections/collection-root

STAGE = development

default: extract
include $(STAGE).mk


default: extract data/collections/.Radicale.lock

extract: $(COLLECTION_ROOT)/user/$(DOMAIN)/.Radicale.props
data/collections/.Radicale.lock:
touch $@



$(COLLECTION_ROOT):
mkdir -p $@

extract: $(COLLECTION_ROOT)/$(USER)/$(DOMAIN)/.Radicale.props


$(COLLECTION_ROOT)/user/%/.Radicale.props: $(COLLECTION_ROOT)
rm -f $@
mkdir -p `dirname $@`
$(JQ) -nc --arg name $(DOMAIN) --arg desc $(DOMAIN) --arg color '#000000' -f `basename $@`.jq > $@


$(COLLECTION_ROOT):
mkdir -p $@

build:
docker build -t radicale:latest .


$(COLLECTION_ROOT)/$(USER)/%/.Radicale.props: $(COLLECTION_ROOT)
@rm -f $@
@mkdir -p `dirname $@`
@$(JQ) -nc --arg name $(DOMAIN) --arg desc $(DOMAIN) --arg color '#000000' -f `basename $@`.jq > $@
$(JQ) < $@

Empty file added data/collections/.Radicale.lock
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"C:calendar-description":"test","C:supported-calendar-component-set":"VEVENT,VJOURNAL,VTODO","D:displayname":"test","ICAL:calendar-color":"#000000","tag":"VCALENDAR"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"C:calendar-description":"test2","C:supported-calendar-component-set":"VEVENT,VJOURNAL,VTODO","D:displayname":"test2","ICAL:calendar-color":"#000000","tag":"VCALENDAR"}
30 changes: 30 additions & 0 deletions development.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

build:
PORT=$(PORT) docker build -t radicale:latest .

run: build
docker run -d --name radical_test \
-p 127.0.0.1:5232:5232 \
--init \
--read-only \
--security-opt="no-new-privileges:true" \
--cap-drop ALL \
--cap-add CHOWN \
--cap-add SETUID \
--cap-add SETGID \
--cap-add KILL \
--pids-limit 50 \
--memory 256M \
--health-cmd="curl --fail http://localhost:5232 || exit 1" \
--health-interval=30s \
--health-retries=3 \
-v $(shell pwd)/data:/data \
radicale:latest
# -v ~/radicale/config:/config:ro \

test:
docker exec -it radical_test make -e DOMAIN=test -e STAGE=production

clean:
docker stop radical_test
docker rm radical_test
26 changes: 26 additions & 0 deletions production.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
STAGE = production

run:
docker run -d --name radical_test \
-p 127.0.0.1:5232:5232 \
--init \
--read-only \
--security-opt="no-new-privileges:true" \
--cap-drop ALL \
--cap-add CHOWN \
--cap-add SETUID \
--cap-add SETGID \
--cap-add KILL \
--pids-limit 50 \
--memory 256M \
--health-cmd="curl --fail http://localhost:5232 || exit 1" \
--health-interval=30s \
--health-retries=3 \
-v $(shell pwd)/data:/data \
radicale:latest
# -v ~/radicale/config:/config:ro \
#


calendar: default