Compare commits
22 Commits
b09735215d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a75395f6a | |||
| 4de23ba13a | |||
| 604d8138c7 | |||
| 823fbf810d | |||
| 7842a2b4a8 | |||
| cd30f061e9 | |||
| 0b95c11829 | |||
| d31c4dcc76 | |||
| 3a107594b1 | |||
| a3ce072fd5 | |||
| 9b9964e526 | |||
| 344276f9b5 | |||
| 4ddd61294e | |||
| 7df9b124b6 | |||
| debcc19856 | |||
| 838a05c6e2 | |||
| 062c916523 | |||
| ac68e77e60 | |||
| 37ee7cdc68 | |||
| 9c35d7b3ad | |||
| dfaf51431f | |||
| 41f140b847 |
@@ -0,0 +1 @@
|
|||||||
|
flatnotes-src
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
TARGETS := $(patsubst ./%/,%,$(dir $(shell find -L . -maxdepth 2 -mindepth 2 -type f -and -name Makefile)))
|
||||||
|
.PHONY: all
|
||||||
|
all: login $(TARGETS)
|
||||||
|
|
||||||
|
include config.mk
|
||||||
|
$(foreach target,$(TARGETS),$(eval include $(target)/Makefile))
|
||||||
|
|
||||||
|
container_image_name = $(REGISTRY_DOMAIN)/$(REGISTRY_USER)/$(CONTAINER_NAME_PREFIX)$(target)
|
||||||
|
app_version = $(shell head -n 1 $(target)/version)
|
||||||
|
remove_last_version_part = $(shell a="$(1)"; [ "$(1)" = "$${a%.*}" ] && echo "" || echo "$${a%.*}")
|
||||||
|
all_versions = $(if $(1),$(1) $(call all_versions,$(call remove_last_version_part,$(1))))
|
||||||
|
tag_alpine_version_parts := alpine $(addprefix alpine,$(call all_versions,$(ALPINE_VERSION)))
|
||||||
|
tag_app_version_parts = $(call all_versions,$(app_version))
|
||||||
|
tags = $(tag_app_version_parts) $(tag_alpine_version_parts)\
|
||||||
|
$(foreach app_part,$(tag_app_version_parts),$(addprefix $(app_part)-,$(tag_alpine_version_parts)))
|
||||||
|
docker_context = $(if $(DOCKER_CONTEXT_$(target)),$(DOCKER_CONTEXT_$(target)),$(target))
|
||||||
|
|
||||||
|
define build_rule =
|
||||||
|
.PHONY: build_$(target)
|
||||||
|
build_$(target):
|
||||||
|
podman build \
|
||||||
|
-t $(container_image_name):latest \
|
||||||
|
--build-arg "ALPINE_VERSION=$(ALPINE_VERSION)" \
|
||||||
|
--build-arg "VERSION=$(app_version)" \
|
||||||
|
$(docker_context)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define tag_rule =
|
||||||
|
.PHONY: tag_$(target)
|
||||||
|
tag_$(target):
|
||||||
|
podman tag $(container_image_name):latest $(addprefix $(container_image_name):,$(tags))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define push_rule =
|
||||||
|
.PHONY: push_$(target)
|
||||||
|
push_$(target): login
|
||||||
|
podman push "$(container_image_name):latest"
|
||||||
|
$(foreach tag,$(tags),podman push $(container_image_name):$(tag);)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define target_rule =
|
||||||
|
.PHONY: $(target)
|
||||||
|
$(target): prepare_$(target) build_$(target) tag_$(target) push_$(target)
|
||||||
|
endef
|
||||||
|
|
||||||
|
.PHONY: login
|
||||||
|
login:
|
||||||
|
podman login $(REGISTRY_DOMAIN)
|
||||||
|
|
||||||
|
$(foreach target,$(TARGETS),$(eval $(target_rule)))
|
||||||
|
$(foreach target,$(TARGETS),$(eval $(build_rule)))
|
||||||
|
$(foreach target,$(TARGETS),$(eval $(tag_rule)))
|
||||||
|
$(foreach target,$(TARGETS),$(eval $(push_rule)))
|
||||||
|
|
||||||
|
clean: $(foreach target,$(TARGETS),clean_$(target))
|
||||||
+7
-5
@@ -1,6 +1,8 @@
|
|||||||
FROM docker.io/library/alpine:3.23 AS agate
|
ARG ALPINE_VERSION
|
||||||
RUN apk --no-cache add rust cargo
|
FROM docker.io/alpine:${ALPINE_VERSION}
|
||||||
RUN wget -O - https://github.com/mbrubeck/agate/archive/refs/tags/v3.3.20.tar.gz | tar -xz \
|
ARG VERSION
|
||||||
&& cargo install --path agate-3.3.20/ \
|
RUN apk --no-cache add rust cargo gcc \
|
||||||
|
&& wget -O - https://github.com/mbrubeck/agate/archive/refs/tags/v${VERSION}.tar.gz | tar -xz \
|
||||||
|
&& cargo install --path agate-${VERSION}/ \
|
||||||
&& apk del rust cargo \
|
&& apk del rust cargo \
|
||||||
&& rm -rf agate-3.3.20 agate-target
|
&& rm -rf agate-${VERSION} agate-target
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
.PHONY: prepare_agate
|
||||||
|
prepare_agate:
|
||||||
|
@echo Nothing to do
|
||||||
|
|
||||||
|
.PHONY: clean_agate
|
||||||
|
clean_agate:
|
||||||
|
@echo Nothing to do
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
3.3.20
|
||||||
+8
-6
@@ -1,7 +1,9 @@
|
|||||||
FROM alpine:3.23 AS comitium
|
ARG ALPINE_VERSION
|
||||||
RUN apk --no-cache add make go scdoc
|
FROM docker.io/alpine:${ALPINE_VERSION}
|
||||||
RUN wget -O - https://git.sr.ht/~nytpu/comitium/archive/v1.8.2.tar.gz | tar -xz \
|
ARG VERSION
|
||||||
&& make --directory=comitium-v1.8.2 \
|
RUN apk --no-cache add make go scdoc \
|
||||||
&& mv comitium-v1.8.2/build/comitium /usr/local/bin/comitium \
|
&& wget -O - https://git.sr.ht/~nytpu/comitium/archive/v${VERSION}.tar.gz | tar -xz \
|
||||||
|
&& make --directory=comitium-v${VERSION} \
|
||||||
|
&& mv comitium-v${VERSION}/build/comitium /usr/local/bin/comitium \
|
||||||
&& apk del make go scdoc \
|
&& apk del make go scdoc \
|
||||||
&& rm -rf comitium-v1.8.2
|
&& rm -rf comitium-v${VERSION}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
.PHONY: prepare_comitium
|
||||||
|
prepare_comitium:
|
||||||
|
@echo Nothing to do
|
||||||
|
|
||||||
|
.PHONY: clean_comitium
|
||||||
|
clean_comitium:
|
||||||
|
@echo Nothing to do
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1.8.2
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
REGISTRY_DOMAIN := git.joeac.net
|
||||||
|
REGISTRY_USER := joeac
|
||||||
|
ARCHITECTURE := $(shell lscpu | grep ^Architecture: | sed "s/Architecture:[[:space:]]*//")
|
||||||
|
CONTAINER_NAME_PREFIX := $(if $(filter armv7%,$(ARCHITECTURE)),armv7/)
|
||||||
|
ALPINE_VERSION := 3.23
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
ARG ALPINE_VERSION
|
||||||
|
FROM docker.io/alpine:${ALPINE_VERSION}
|
||||||
|
ARG VERSION
|
||||||
|
RUN apk --no-cache add busybox-openrc=${VERSION}
|
||||||
|
RUN rc-update add crond
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
.PHONY: prepare_crond
|
||||||
|
prepare_crond:
|
||||||
|
@echo Nothing to do
|
||||||
|
|
||||||
|
.PHONY: clean_crond
|
||||||
|
clean_crond:
|
||||||
|
@echo Nothing to do
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1.37.0-r30
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
flatnotes_version = $(let target,flatnotes,$(app_version))
|
||||||
|
DOCKER_CONTEXT_flatnotes = flatnotes-src/flatnotes-$(flatnotes_version)
|
||||||
|
|
||||||
|
.PHONY: prepare_flatnotes
|
||||||
|
prepare_flatnotes: flatnotes-src
|
||||||
|
|
||||||
|
flatnotes-src: flatnotes/version
|
||||||
|
wget -O- https://github.com/dullage/flatnotes/archive/refs/tags/v$(flatnotes_version).tar.gz \
|
||||||
|
| gzip -d | tar -xf -
|
||||||
|
rm -rf flatnotes-src
|
||||||
|
mkdir flatnotes-src
|
||||||
|
mv flatnotes-$(flatnotes_version) flatnotes-src
|
||||||
|
|
||||||
|
clean_flatnotes:
|
||||||
|
rm -rf flatnotes-src flatnotes.tar flatnotes.tar.gz
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
5.5.4
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
ARG ALPINE_VERSION
|
||||||
|
FROM alpine:${ALPINE_VERSION}
|
||||||
|
RUN mkdir -p /var/msmtp
|
||||||
|
WORKDIR /var/msmtp
|
||||||
|
ARG VERSION
|
||||||
|
RUN apk --no-cache add git autoconf automake build-base gettext gettext-dev gnutls gnutls-dev libtool make texinfo \
|
||||||
|
&& git clone https://github.com/marlam/msmtp.git --branch msmtp-${VERSION} --single-branch --depth 1 msmtp \
|
||||||
|
&& cd msmtp \
|
||||||
|
&& autoreconf -fi \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& cp src/msmtp src/msmtpd /usr/local/bin \
|
||||||
|
&& rm -rf msmtp \
|
||||||
|
&& apk del git autoconf automake build-base gettext-dev gnutls-dev libtool make texinfo
|
||||||
|
CMD msmtpd \
|
||||||
|
--auth=$SMTP_USER,'echo $SMTP_PASSWORD' \
|
||||||
|
--command='msmtp -C .msmtprc -f %F --' \
|
||||||
|
--interface=0.0.0.0 \
|
||||||
|
--log=/var/msmtp/msmtpd.log \
|
||||||
|
--port=$SMTP_PORT
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
.PHONY: prepare_msmtp
|
||||||
|
prepare_msmtp:
|
||||||
|
@echo Nothing to do
|
||||||
|
|
||||||
|
.PHONY: clean_msmtp
|
||||||
|
clean_msmtp:
|
||||||
|
@echo Nothing to do
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1.8.32
|
||||||
Reference in New Issue
Block a user