external app
This commit is contained in:
parent
3d79bcdad3
commit
23cd8f2779
|
@ -100,3 +100,8 @@ ipfs config --json Gateway.HTTPHeaders "${IPFS_GATEWAY_HTTPHEADERS:-{
|
|||
## REMOVE IPFS BOOTSTRAP for private usage
|
||||
[ ${IPFS_NETWORK:-public} = "public" ] || ipfs bootstrap rm --all
|
||||
[ ${IPFS_NETWORK:-public} = "private" ] && export LIBP2P_FORCE_PNET=1 ||:
|
||||
|
||||
## ALLOW AUTO DISCOVERY ON DOCKER NETWORK
|
||||
ipfs config --bool Discovery.MDNS.Enabled true
|
||||
ipfs config --json Addresses.NoAnnounce "$(ipfs config Addresses.NoAnnounce |sed '/172.16.0.0/d')"
|
||||
ipfs config --json Swarm.AddrFilters "$(ipfs config Swarm.AddrFilters |sed '/172.16.0.0/d')"
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
FROM debian:bullseye as dist
|
||||
LABEL maintainer aynic.os <support+docker@asycn.io>
|
||||
ARG DOCKER_BUILD_DIR
|
||||
ARG DOCKER_MACHINE=x86_64
|
||||
ARG DOCKER_SYSTEM=Linux
|
||||
ARG GIT_AUTHOR_NAME
|
||||
ARG GIT_AUTHOR_EMAIL
|
||||
|
||||
ENV GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
|
||||
ENV GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
ENV GIT_COMMITTER_NAME=${GIT_AUTHOR_NAME}
|
||||
ENV GIT_COMMITTER_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -fy install \
|
||||
bash \
|
||||
cron \
|
||||
curl \
|
||||
gettext \
|
||||
git \
|
||||
gpg \
|
||||
gpg-agent \
|
||||
make \
|
||||
nano \
|
||||
netcat-openbsd \
|
||||
openssh-client \
|
||||
python3 \
|
||||
screen \
|
||||
socat \
|
||||
sudo \
|
||||
tmux \
|
||||
vim-nox \
|
||||
wget \
|
||||
xz-utils
|
||||
|
||||
ADD https://git.p2p.legal/axiom-team/astrXbian/raw/branch/master/include.sh /
|
||||
ADD https://git.p2p.legal/axiom-team/astrXbian/raw/branch/master/install.sh /
|
||||
RUN chmod +r /include.sh \
|
||||
&& chmod +rx /install.sh \
|
||||
&& bash -c '. /include.sh && install_requirements'
|
||||
|
||||
ARG IPFS_VERSION=0.14.0
|
||||
|
||||
RUN { OS="$(echo ${DOCKER_SYSTEM} |awk '{print tolower($0)}')"; \
|
||||
ARCH="$(echo ${DOCKER_MACHINE})"; \
|
||||
wget -qO - https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.${OS}.${ARCH}.tar.xz \
|
||||
|tar --strip-components 1 -C /usr/local/bin -xJf - shellcheck-stable/shellcheck; } \
|
||||
&& { OS="$(echo ${DOCKER_SYSTEM} |awk '{print tolower($0)}')"; \
|
||||
ARCH="$(echo ${DOCKER_MACHINE} |awk '/x86_64/ {print "amd64"}; /aarch64/ {print "arm64"}')"; \
|
||||
wget -qO - https://github.com/ipfs/kubo/releases/download/v${IPFS_VERSION}/kubo_v${IPFS_VERSION}_${OS}-${ARCH}.tar.gz \
|
||||
|tar --strip-components 1 -C /usr/local/bin -xzf - kubo/ipfs; } \
|
||||
&& mkdir -p /usr/local/lib/shellspec \
|
||||
&& wget -qO - https://github.com/shellspec/shellspec/archive/refs/heads/master.tar.gz \
|
||||
|tar --strip-components 1 -C /usr/local/lib/shellspec -xzf - \
|
||||
&& ln -s /usr/local/lib/shellspec/shellspec /usr/local/bin/shellspec
|
||||
|
||||
ADD https://raw.github.com/kvz/cronlock/master/cronlock /usr/local/bin/cronlock
|
||||
RUN chmod +rx /usr/local/bin/cronlock
|
||||
|
||||
COPY ${DOCKER_BUILD_DIR}/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
CMD ["start"]
|
||||
|
||||
FROM dist as master
|
||||
ARG DOCKER_BUILD_DIR
|
||||
ARG DOCKER_GID
|
||||
ARG SHELL=/bin/bash
|
||||
ARG UID
|
||||
ARG USER
|
||||
ENV UID=${UID}
|
||||
ENV GID=${UID}
|
||||
ENV USER=${USER}
|
||||
|
||||
# If we provide a numeric UID
|
||||
RUN [ "$UID" -eq "$UID" ] 2>/dev/null \
|
||||
# Remove user with $UID if it is not our $USER
|
||||
&& if [ "$(getent passwd $UID |awk -F: '{print $1}')" != "$USER" ]; then \
|
||||
sed -i '/^'$(getent passwd $UID |awk -F: '{print $1}')':x:'$UID':/d' /etc/passwd; \
|
||||
sed -i '/^'$(getent group $GID |awk -F: '{print $1}')':x:'$GID':/d' /etc/group; \
|
||||
fi \
|
||||
# Force $UID if our $USER already exists
|
||||
&& sed -i 's/^'$USER':x:[0-9]\+:[0-9]\+:/'$USER':x:'$UID':'$GID':/' /etc/passwd \
|
||||
&& sed -i 's/^'$USER':x:[0-9]\+:/'$USER':x:'$GID':/' /etc/group \
|
||||
# Create $USER if it does not exist
|
||||
&& if [ "$(getent passwd $UID)" = "" ]; then \
|
||||
echo "$USER:x:$UID:$GID::/home/$USER:$SHELL" >> /etc/passwd; \
|
||||
echo "$USER:\!:$(($(date +%s) / 60 / 60 / 24)):0:99999:7:::" >> /etc/shadow; \
|
||||
echo "$USER:x:$GID:" >> /etc/group; \
|
||||
fi \
|
||||
&& mkdir -p /home/$USER \
|
||||
&& chown $UID:$GID /home/$USER \
|
||||
|| true
|
||||
|
||||
# If we provide a numeric DOCKER_GID
|
||||
RUN [ "$DOCKER_GID" -eq "$DOCKER_GID" ] 2>/dev/null \
|
||||
&& if [ "$(getent group docker |awk -F: '{print $3}')" != "$DOCKER_GID" ]; then \
|
||||
sed -i 's/^docker:x:[0-9]\+:/docker:x:'$DOCKER_GID':/' /etc/group; \
|
||||
fi \
|
||||
|| true
|
||||
|
||||
## group sudo
|
||||
RUN adduser $USER sudo \
|
||||
&& echo '%sudo ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||
|
||||
USER $USER
|
||||
ENV SHELL=${SHELL}
|
||||
WORKDIR /home/$USER
|
||||
|
||||
# git config
|
||||
RUN mkdir -p ~/.config/git \
|
||||
&& echo -e "\
|
||||
.DS_Store\n\
|
||||
.idea/\n\
|
||||
.nfs*\n\
|
||||
*~\n\
|
||||
*.log\n\
|
||||
*.swp\n\
|
||||
Thumbs.db\n\
|
||||
" > ~/.config/git/ignore
|
||||
|
||||
RUN mkdir ~/.zen ~/astroport
|
|
@ -1,33 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
set -euo errexit
|
||||
|
||||
# Print a debug message if debug mode is on ($DEBUG is not empty)
|
||||
# @param message
|
||||
debug_msg ()
|
||||
{
|
||||
if [ -n "${DEBUG:-}" -a "${DEBUG:-}" != "false" ]; then
|
||||
echo "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Install astrXbian/Astroport.ONE
|
||||
/install.sh
|
||||
|
||||
case "${1:-start}" in
|
||||
|
||||
start)
|
||||
debug_msg "Starting..."
|
||||
exec sudo /usr/sbin/cron -f -L/dev/stdout
|
||||
;;
|
||||
|
||||
install)
|
||||
debug_msg "Installing..."
|
||||
exec /install.sh
|
||||
;;
|
||||
|
||||
*)
|
||||
debug_msg "Exec: $@"
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
esac
|
|
@ -75,12 +75,13 @@ down: docker-compose-down ## Remove application dockers
|
|||
# target exec: Exec ARGS in docker SERVICE
|
||||
# on local host
|
||||
.PHONY: exec
|
||||
exec: SERVICE ?= $(DOCKER_SERVICE)
|
||||
exec: ## Exec command in docker SERVICE
|
||||
ifneq (,$(filter $(ENV),$(ENV_DEPLOY)))
|
||||
$(RUN) $(call exec,$(ARGS))
|
||||
else
|
||||
$(call make,docker-compose-exec,,ARGS)
|
||||
endif
|
||||
#ifneq (,$(filter $(ENV),$(ENV_DEPLOY)))
|
||||
# $(RUN) $(call exec,$(ARGS))
|
||||
#else
|
||||
$(call docker-compose-exec-sh,$(SERVICE),$(ARGS)) || true
|
||||
#endif
|
||||
|
||||
# target exec@%: Exec ARGS in docker SERVICE of % ENV
|
||||
# on all remote hosts
|
||||
|
@ -144,12 +145,14 @@ restart: docker-compose-restart app-start ## Restart application
|
|||
# target run: Run command ARGS in a new docker SERVICE
|
||||
# on local host
|
||||
.PHONY: run
|
||||
run: SERVICE ?= $(DOCKER_SERVICE)
|
||||
run: ## Run a command in a new docker
|
||||
ifneq (,$(filter $(ENV),$(ENV_DEPLOY)))
|
||||
$(call run,$(ARGS))
|
||||
else
|
||||
$(call make,docker-compose-run,,ARGS)
|
||||
endif
|
||||
#ifneq (,$(filter $(ENV),$(ENV_DEPLOY)))
|
||||
# $(call run,$(ARGS))
|
||||
#else
|
||||
$(eval DOCKER_RUN_OPTIONS += -it)
|
||||
$(call docker-compose,run $(DOCKER_COMPOSE_RUN_OPTIONS) $(SERVICE) $(ARGS))
|
||||
#endif
|
||||
|
||||
# target run@%: Run command ARGS in a new docker SERVICE of % ENV
|
||||
# on all remote hosts
|
||||
|
|
|
@ -61,7 +61,7 @@ endif
|
|||
# function docker-build: Build docker image
|
||||
define docker-build
|
||||
$(call INFO,docker-build,$(1)$(comma) $(2)$(comma) $(3))
|
||||
$(eval path := $(patsubst %/,%,$(1)))
|
||||
$(eval path := $(patsubst $(DOCKER_BUILD_DIR)/%,%,$(patsubst %/,%,$(1))))
|
||||
$(eval service := $(subst .,,$(call LOWERCASE,$(lastword $(subst /, ,$(path))))))
|
||||
$(eval tag := $(or $(2),$(DOCKER_REPOSITORY)/$(service):$(DOCKER_IMAGE_TAG)))
|
||||
$(eval target := $(subst ",,$(subst ',,$(or $(3),$(DOCKER_BUILD_TARGET)))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
APP_DIR ?= $(CURDIR)
|
||||
APP_DOMAIN ?= $(addsuffix .,$(filter-out master,$(ENV)))$(USER).$(DOMAIN)
|
||||
APP_DOMAIN ?= $(addsuffix .,$(filter-out $(ENV_DEPLOY),$(ENV)))$(USER).$(DOMAIN)
|
||||
APP_HOST ?= $(addsuffix .,$(APP_NAME))$(APP_DOMAIN)
|
||||
APP_INSTALLED ?= $(APPS)
|
||||
APP_PARENT ?= $(MONOREPO)
|
||||
|
@ -16,6 +16,7 @@ APP_SCHEME ?= https
|
|||
APP_UPSTREAM_REPOSITORY ?= $(or $(shell git config --get remote.upstream.url 2>/dev/null),$(GIT_UPSTREAM_REPOSITORY))
|
||||
APP_URI ?= $(APP_HOST)/$(APP_PATH)
|
||||
APP_URL ?= $(APP_SCHEME)://$(APP_URI)
|
||||
CMDARGS += exec exec:% exec@% run run:% run@%
|
||||
CONTEXT += APP APPS BRANCH DOMAIN VERSION RELEASE
|
||||
CONTEXT_DEBUG += APP_DIR APP_URL APP_REPOSITORY APP_UPSTREAM_REPOSITORY ENV_DEPLOY
|
||||
ENV_DEPLOY ?= $(shell ls .git/refs/remotes/origin/ 2>/dev/null)
|
||||
|
|
|
@ -14,11 +14,19 @@ $(APP): myos-user
|
|||
app-%:
|
||||
$(eval app := $(subst -$(lastword $(subst -, ,$*)),,$*))
|
||||
$(eval command := $(lastword $(subst -, ,$*)))
|
||||
$(if $(filter app-$(command),$(.VARIABLES)), \
|
||||
$(call app-bootstrap,$(app)) \
|
||||
$(call app-$(command)) \
|
||||
$(if $(wildcard $(RELATIVE)$(app)), \
|
||||
$(if $(filter app-$(command),$(.VARIABLES)), \
|
||||
$(call app-bootstrap,$(app)) \
|
||||
$(call app-$(command)) \
|
||||
, \
|
||||
$(if $(wildcard $(RELATIVE)$*), \
|
||||
$(call app-bootstrap,$*) \
|
||||
, \
|
||||
$(call WARNING,Unable to find app command,$(command)) \
|
||||
) \
|
||||
) \
|
||||
, \
|
||||
$(call app-bootstrap,$*) \
|
||||
$(call WARNING,Unable to find app,$(app),in dir,$(RELATIVE)$(app)) \
|
||||
)
|
||||
|
||||
# target app-required-install: Call app-install for each APP_REQUIRED
|
||||
|
|
117
make/def.app.mk
117
make/def.app.mk
|
@ -1,3 +1,5 @@
|
|||
CMDARGS += app-%-exec app-%-run
|
||||
|
||||
# function app-bootstrap: Define custom variables for app 1 in dir 2 with name 3 and type 4
|
||||
define app-bootstrap
|
||||
$(call INFO,app-bootstrap,$(1)$(comma) $(2$(comma) $(3))$(comma) $(4))
|
||||
|
@ -18,7 +20,7 @@ endef
|
|||
|
||||
# function app-build: Call docker-build for each Dockerfile in dir 1
|
||||
define app-build
|
||||
$(call INFO,app-build,$(1))
|
||||
$(call INFO,app-build,$(1)$(comma))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
|
@ -27,13 +29,13 @@ define app-build
|
|||
$(call app-docker,$(dockerfile))
|
||||
$(call docker-build, $(dir $(dockerfile)), $(DOCKER_IMAGE), "" )
|
||||
),
|
||||
$(call ERROR,Unable to find any Dockerfile in dir: $(or $(1),$(APP_DIR)))
|
||||
$(call ERROR,Unable to find a,Dockerfile in dir,$(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-docker: Define custom variables for Dockerfile 1
|
||||
define app-docker
|
||||
$(call INFO,app-docker,$(1))
|
||||
$(call INFO,app-docker,$(1)$(comma))
|
||||
$(eval dir := $(or $(APP_DIR)))
|
||||
$(eval dockerfile := $(or $(1)))
|
||||
$(if $(wildcard $(dockerfile)),
|
||||
|
@ -44,26 +46,64 @@ define app-docker
|
|||
$(eval DOCKER_NAME := $(docker))
|
||||
$(eval DOCKER_RUN_NAME := --name $(DOCKER_NAME))
|
||||
,
|
||||
$(call ERROR,Unable to find Dockerfile: $(dockerfile))
|
||||
$(call ERROR,Unable to find Dockerfile,$(dockerfile))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-connect: Call docker exec $(DOCKER_SHELL) for each Dockerfile in dir 1
|
||||
define app-connect
|
||||
$(call INFO,app-connect,$(1)$(comma))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(if $(DOCKER_FILE),
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(if $(shell docker ps -q -f name=$(DOCKER_NAME) 2>/dev/null),
|
||||
$(RUN) docker exec -it $(DOCKER_NAME) $(DOCKER_SHELL)
|
||||
,
|
||||
$(call WARNING,Unable to find docker,$(DOCKER_NAME))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find a,Dockerfile,in dir $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-down: Call docker rm for each Dockerfile in dir 1
|
||||
define app-down
|
||||
$(call INFO,app-down,$(1))
|
||||
$(call INFO,app-down,$(1)$(comma))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(if $(DOCKER_FILE), \
|
||||
$(if $(DOCKER_FILE),
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(if $(shell docker ps -q -f name=$(DOCKER_NAME) 2>/dev/null),
|
||||
$(shell docker rm -f $(DOCKER_NAME))
|
||||
$(RUN) docker rm -f $(DOCKER_NAME)
|
||||
,
|
||||
$(call ERROR,Unable to find docker $(DOCKER_NAME))
|
||||
$(call WARNING,Unable to find docker,$(DOCKER_NAME))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find any Dockerfile in dir: $(or $(1),$(APP_DIR)))
|
||||
$(call ERROR,Unable to find a,Dockerfile,in dir $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-exec: Call docker exec $(ARGS) for each Dockerfile in dir 1
|
||||
define app-exec
|
||||
$(call INFO,app-exec,$(1)$(comma) $(2))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(if $(DOCKER_FILE),
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(if $(shell docker ps -q -f name=$(DOCKER_NAME) 2>/dev/null),
|
||||
$(RUN) docker exec -it $(DOCKER_NAME) $(ARGS)
|
||||
,
|
||||
$(call WARNING,Unable to find docker,$(DOCKER_NAME))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find a,Dockerfile,in dir $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
|
@ -78,9 +118,45 @@ define app-install
|
|||
)
|
||||
endef
|
||||
|
||||
# function app-logs: Call docker logs $(ARGS) for each Dockerfile in dir 1
|
||||
define app-logs
|
||||
$(call INFO,app-logs,$(1)$(comma) $(2))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(if $(DOCKER_FILE),
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(if $(shell docker ps -q -f name=$(DOCKER_NAME) 2>/dev/null),
|
||||
$(RUN) docker logs --follow --tail=100 $(DOCKER_NAME)
|
||||
,
|
||||
$(call WARNING,Unable to find docker,$(DOCKER_NAME))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find a,Dockerfile,in dir $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-ps: Call docker ps $(ARGS) for each Dockerfile in dir 1
|
||||
define app-ps
|
||||
$(call INFO,app-ps,$(1)$(comma) $(2))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(if $(DOCKER_FILE),
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(eval DOCKERS += $(DOCKER_NAME))
|
||||
)
|
||||
$(RUN) docker ps $(patsubst %,-f name=%,$(DOCKERS)) 2>/dev/null
|
||||
,
|
||||
$(call ERROR,Unable to find a,Dockerfile,in dir $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-rebuild: Call app-build with DOCKER_BUILD_CACHE=false
|
||||
define app-rebuild
|
||||
$(call INFO,app-rebuild,$(1))
|
||||
$(call INFO,app-rebuild,$(1)$(comma))
|
||||
$(eval DOCKER_BUILD_CACHE := false)
|
||||
$(call app-build,$(1))
|
||||
endef
|
||||
|
@ -99,31 +175,18 @@ define app-run
|
|||
$(if $(shell docker images -q $(DOCKER_IMAGE) 2>/dev/null),
|
||||
$(call docker-run,$(args))
|
||||
,
|
||||
$(call ERROR,Unable to find docker image $(DOCKER_IMAGE))
|
||||
$(call ERROR,Unable to find docker image,$(DOCKER_IMAGE))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find any Dockerfile in dir: $(or $(1),$(APP_DIR)))
|
||||
$(call ERROR,Unable to find a,Dockerfile in dir,$(or $(1),$(APP_DIR)))
|
||||
)
|
||||
endef
|
||||
|
||||
# function app-up: Call docker-run (-d) for each Dockerfile in dir 1
|
||||
define app-up
|
||||
$(call INFO,app-up,$(1))
|
||||
$(if $(filter-out $(APP_DIR),$(1)),
|
||||
$(eval DOCKER_FILE := $(wildcard $(1)/docker/*/Dockerfile $(1)/*/Dockerfile $(1)/Dockerfile))
|
||||
)
|
||||
$(call INFO,app-up,$(1)$(comma))
|
||||
$(eval DOCKER_RUN_OPTIONS += -d)
|
||||
$(if $(DOCKER_FILE), \
|
||||
$(foreach dockerfile,$(DOCKER_FILE),
|
||||
$(call app-docker,$(dockerfile))
|
||||
$(if $(shell docker images -q $(DOCKER_IMAGE) 2>/dev/null),
|
||||
$(call docker-run,$(args))
|
||||
,
|
||||
$(call ERROR,Unable to find docker image $(DOCKER_IMAGE))
|
||||
)
|
||||
),
|
||||
$(call ERROR,Unable to find any Dockerfile in dir: $(or $(1),$(APP_DIR)))
|
||||
)
|
||||
$(call app-run,$(1))
|
||||
endef
|
||||
|
||||
# function app-update: Run 'cd dir 1 && git pull' or Call app-install
|
||||
|
|
|
@ -16,7 +16,7 @@ CMD_APK_INSTALL ?= $(if $(shell type -p apk),apk --no-cache --up
|
|||
CMD_APK_REMOVE ?= $(if $(shell type -p apk),apk --no-cache del)
|
||||
CMD_APT_INSTALL ?= $(if $(shell type -p apt-get),apt-get update && apt-get -fy install)
|
||||
CMD_APT_REMOVE ?= $(if $(shell type -p apt-get),apt-get -fy remove)
|
||||
CMDARGS ?= app-%-run apps-install exec exec:% exec@% install-app run run:% run@%
|
||||
CMDARGS ?= apps-install install-app
|
||||
COLOR_BLUE ?= \033[01;34m
|
||||
COLOR_BROWN ?= \033[33m
|
||||
COLOR_CYAN ?= \033[36m
|
||||
|
@ -48,7 +48,7 @@ DRONE ?= false
|
|||
DRYRUN ?= false
|
||||
DRYRUN_RECURSIVE ?= false
|
||||
ELAPSED_TIME = $(shell $(call TIME))
|
||||
ENV ?= local
|
||||
ENV ?= master
|
||||
ENV_ARGS ?= $(env_args)
|
||||
ENV_FILE ?= $(wildcard $(CONFIG)/$(ENV)/$(APP)/.env .env)
|
||||
ENV_LIST ?= $(shell ls .git/refs/heads/ 2>/dev/null)
|
||||
|
@ -177,7 +177,7 @@ INFO_FD := 2
|
|||
INFO = $(if $(VERBOSE),$(if $(filter-out true,$(IGNORE_VERBOSE)), \
|
||||
printf '${COLOR_INFO}$(APP)${COLOR_RESET}[${COLOR_VALUE}$(MAKELEVEL)${COLOR_RESET}]$(if $@, ${COLOR_VALUE}$@${COLOR_RESET}):${COLOR_RESET} ' >&$(INFO_FD) \
|
||||
$(if $(2), \
|
||||
&& printf 'Call ${COLOR_HIGHLIGHT}$(1)${COLOR_RESET}$(lbracket)' >&$(INFO_FD) \
|
||||
&& printf 'Calling ${COLOR_HIGHLIGHT}$(1)${COLOR_RESET}$(lbracket)' >&$(INFO_FD) \
|
||||
&& $(or $(strip $(call PRINTF,$(2))),printf '$(2)') >&$(INFO_FD) \
|
||||
&& printf '$(rbracket)' >&$(INFO_FD) \
|
||||
$(if $(3),&& printf ' ${COLOR_VALUE}in${COLOR_RESET} $(3)' >&$(INFO_FD)) \
|
||||
|
|
|
@ -5,5 +5,5 @@ NODE_IPFS_LOGGING=error
|
|||
NODE_IPFS_PUBSUB_ENABLE=true
|
||||
NODE_IPFS_PUBSUB_ROUTER=gossipsub
|
||||
NODE_IPFS_ROUTING_TYPE=dht
|
||||
NODE_IPFS_SERVICE_8080_CHECK_TCP=/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
|
||||
NODE_IPFS_SERVICE_8080_CHECK_HTTP=/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
|
||||
NODE_IPFS_SERVICE_8080_TAGS=urlprefix-ipfs.${DOMAIN}/
|
||||
|
|
|
@ -60,11 +60,17 @@ services:
|
|||
- SERVICE_4001_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-4001
|
||||
- SERVICE_5001_CHECK_TCP=true
|
||||
- SERVICE_5001_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-5001
|
||||
- SERVICE_8080_CHECK_HTTP=${NODE_IPFS_SERVICE_8080_CHECK_TCP}
|
||||
- SERVICE_8080_CHECK_HTTP=${NODE_IPFS_SERVICE_8080_CHECK_HTTP}
|
||||
- SERVICE_8080_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-8080
|
||||
- SERVICE_8080_TAGS=${NODE_IPFS_SERVICE_8080_TAGS}
|
||||
- SERVICE_8081_IGNORE=true
|
||||
network_mode: host
|
||||
networks:
|
||||
- public
|
||||
ports:
|
||||
- 4001:4001/tcp
|
||||
- 4001:4001/udp
|
||||
- 5001:5001/tcp
|
||||
- 8080:8080/tcp
|
||||
restart: always
|
||||
ulimits:
|
||||
nofile:
|
||||
|
|
14
stack/zen.mk
14
stack/zen.mk
|
@ -1,14 +0,0 @@
|
|||
ifneq ($(filter zen,$(STACK)),)
|
||||
ifeq ($(filter ipfs,$(STACK)),)
|
||||
STACK += ipfs
|
||||
endif
|
||||
ifeq ($(filter node/ipfs,$(node)),)
|
||||
node += node/ipfs
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: bootstrap-stack-zen
|
||||
bootstrap-stack-zen: ~/.zen
|
||||
|
||||
~/.zen:
|
||||
mkdir -p ~/.zen
|
|
@ -1,7 +0,0 @@
|
|||
IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=["true"]
|
||||
IPFS_API_HTTPHEADERS_ACA_METHODS=["PUT", "GET", "POST"]
|
||||
IPFS_API_HTTPHEADERS_ACA_ORIGIN=["http://astroport", "https://astroport.com", "https://qo-op.com", "https://tube.copylaradio.com" ]
|
||||
IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=true
|
||||
IPFS_EXPERIMENTAL_P2PHTTPPROXY=true
|
||||
IPFS_SWARM_CONNMGR_HIGHWATER=0
|
||||
IPFS_SWARM_CONNMGR_LOWWATER=0
|
|
@ -1,51 +0,0 @@
|
|||
version: '3.6'
|
||||
|
||||
services:
|
||||
zen:
|
||||
build:
|
||||
args:
|
||||
- DOCKER_BUILD_DIR=docker/zen
|
||||
- GID=${GID}
|
||||
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
|
||||
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
|
||||
- IPFS_VERSION=${IPFS_VERSION}
|
||||
- UID=${UID}
|
||||
- USER=${USER}
|
||||
context: ../..
|
||||
dockerfile: docker/zen/Dockerfile
|
||||
depends_on:
|
||||
- ipfs
|
||||
environment:
|
||||
- ENV=${ENV}
|
||||
- SHELL=${DOCKER_SHELL}
|
||||
- SSH_AUTH_SOCK=/tmp/ssh-agent/socket
|
||||
image: ${DOCKER_REPOSITORY}/zen:${DOCKER_IMAGE_TAG}
|
||||
networks:
|
||||
- private
|
||||
restart: always
|
||||
user: ${UID}:${GID}
|
||||
volumes:
|
||||
- astroport:${HOME}/astroport:cached
|
||||
- ipfs:${HOME}/.ipfs:cached,ro
|
||||
- myos:/tmp/ssh-agent:ro
|
||||
- zen:${HOME}/.zen:delegated
|
||||
working_dir: ${HOME}/.zen
|
||||
|
||||
volumes:
|
||||
astroport:
|
||||
ipfs:
|
||||
external: true
|
||||
myos:
|
||||
external: true
|
||||
name: ${USER_DOCKER_VOLUME}
|
||||
zen:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
device: ${HOME}/.zen
|
||||
o: bind
|
||||
|
||||
networks:
|
||||
private:
|
||||
external: true
|
||||
name: ${DOCKER_NETWORK_PRIVATE}
|
Loading…
Reference in New Issue