mutli domain #21
38
Makefile
38
Makefile
|
@ -1,40 +1,52 @@
|
|||
MYOS ?= ../myos
|
||||
MYOS_REPOSITORY ?= https://github.com/aynicos/myos
|
||||
MYOS ?= ../myos
|
||||
MYOS_REPOSITORY ?= $(patsubst %/$(APP),%/myos,$(APP_REPOSITORY))
|
||||
APP ?= $(lastword $(subst /, ,$(APP_REPOSITORY)))
|
||||
APP_REPOSITORY ?= $(shell git config --get remote.origin.url 2>/dev/null)
|
||||
-include $(MYOS)/make/include.mk
|
||||
$(MYOS):
|
||||
-@git clone $(MYOS_REPOSITORY) $(MYOS)
|
||||
|
||||
.PHONY: all install shellcheck shellcheck-% tests
|
||||
SHELL_FILES ?= $(wildcard .*/*.sh */*.sh */*/*.sh)
|
||||
|
||||
.PHONY: all
|
||||
all: install tests
|
||||
|
||||
install: upgrade build myos-host up player
|
||||
|
||||
upgrade: migrate-ipfs migrate-zen
|
||||
.PHONY: install
|
||||
install: myos build up player
|
||||
echo "Welcome to myos docker land - make a user - make a player -"
|
||||
|
||||
.PHONY: migrate
|
||||
migrate-%: home := ~/.zen/game/players
|
||||
migrate-%:
|
||||
[ ! -f /var/lib/docker/volumes/$(HOSTNAME)_$*/_data ] \
|
||||
&& $(RUN) $(SUDO) mkdir -p /var/lib/docker/volumes/$(HOSTNAME)_$*/_data \
|
||||
&& $(RUN) $(SUDO) cp -a ~/.$* /var/lib/docker/volumes/$(HOSTNAME)_$*/_data \
|
||||
&& $(RUN) $(SUDO) chown -R $(USER) /var/lib/docker/volumes/$(HOSTNAME)_$* \
|
||||
|| :
|
||||
if $(SUDO) test ! -d /var/lib/docker/volumes/$(HOSTNAME)_$*; then \
|
||||
$(RUN) $(SUDO) mkdir -p /var/lib/docker/volumes/$(HOSTNAME)_$* \
|
||||
&& $(RUN) $(SUDO) cp -a $(if $($*),$($*)/,~/.$*/) /var/lib/docker/volumes/$(HOSTNAME)_$*/_data \
|
||||
&& $(RUN) $(SUDO) chown -R $(HOST_UID):$(HOST_GID) /var/lib/docker/volumes/$(HOSTNAME)_$*/_data \
|
||||
; \
|
||||
fi
|
||||
|
||||
.PHONY: player
|
||||
player: STACK := User
|
||||
player: docker-network-create-$(USER)
|
||||
$(call make,stack-User-$(if $(DELETE),down,up),$(MYOS),COMPOSE_PROJECT_NAME MAIL)
|
||||
|
||||
.PHONY: player-%
|
||||
player-%: STACK := User
|
||||
player-%:
|
||||
$(if $(filter $*,$(filter-out %-%,$(patsubst docker-compose-%,%,$(filter docker-compose-%,$(MAKE_TARGETS))))), \
|
||||
$(call make,stack-User-$*,$(MYOS),COMPOSE_PROJECT_NAME MAIL) \
|
||||
)
|
||||
|
||||
tests: shellcheck
|
||||
|
||||
.PHONY: shellcheck
|
||||
shellcheck:
|
||||
shellcheck $(SHELL_FILES) ||:
|
||||
|
||||
.PHONY: shellcheck-%
|
||||
shellcheck-%:
|
||||
shellcheck $*/*.sh
|
||||
|
||||
.PHONY: tests
|
||||
tests: shellcheck
|
||||
|
||||
.PHONY: upgrade
|
||||
upgrade: migrate-home migrate-ipfs install
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
COMPOSE_FILE_VDI := true
|
||||
COMPOSE_IGNORE_ORPHANS := true
|
||||
DOCKER_IMAGES_MYOS := x2go:xfce-debian
|
||||
ENV_VARS += HOST_ASTROPORT_SERVICE_1234_TAGS
|
||||
HOST_ASTROPORT_SERVICE_1234_TAGS ?= urlprefix-astroport.$(DOMAIN)/
|
||||
HOST_ASTROPORT_SERVICE_URIS ?= $(patsubst %,astroport.%,$(APP_URIS))
|
||||
HOST_ASTROPORT_SERVICE_1234_TAGS ?= $(call urlprefix,,$(HOST_ASTROPORT_SERVICE_1234_URIS))
|
||||
HOST_ASTROPORT_SERVICE_1234_URIS ?= $(HOST_ASTROPORT_SERVICE_URIS)
|
||||
HOST_ASTROPORT_UFW_UPDATE := 1234/tcp 12245:12445/tcp 45720/tcp
|
||||
MAKE_VARS += SSH_PORT User host
|
||||
SERVICE := astroport
|
|
@ -191,7 +191,7 @@ VOLUME "/home/$USER/Astroport"
|
|||
|
||||
# homedir
|
||||
RUN mkdir -p "/home/$USER/.ipfs" "/home/$USER/.zen/game/players" "/home/$USER/Astroport" \
|
||||
&& chown "$USER" "/home/$USER/.ipfs" "/home/$USER/.zen/game/players" "/home/$USER/Astroport"
|
||||
&& chown -R "$USER" "/home/$USER"
|
||||
|
||||
HEALTHCHECK CMD [ $(ps aux |grep 'nc -l -p' |wc -l) -lt 199 ] && echo -n OK
|
||||
|
||||
|
|
|
@ -14,8 +14,9 @@ log() {
|
|||
}
|
||||
|
||||
zen() {
|
||||
mkdir -p /home/zen/Astroport
|
||||
sudo chown zen:users /home/zen /home/zen/.zen /home/zen/.zen/game /home/zen/.zen/game/players
|
||||
[ -d "$ASTROPORT_DIR" ] && cd "$ASTROPORT_DIR" && git pull -q || git clone -q "$ASTROPORT_REPO" "$ASTROPORT_DIR"
|
||||
sudo chown zen /home/zen/.zen/game/players
|
||||
}
|
||||
|
||||
case "${1:-${cmd:-start}}" in
|
||||
|
|
|
@ -12,12 +12,10 @@ services:
|
|||
restart: unless-stopped
|
||||
tty: true
|
||||
volumes:
|
||||
- data:/home/zen/Astroport:cached
|
||||
- home:/home/zen/.zen/game/players:delegated
|
||||
- ipfs:/home/zen/.ipfs:cached,ro
|
||||
working_dir: /home/zen
|
||||
|
||||
volumes:
|
||||
data:
|
||||
home:
|
||||
ipfs:
|
||||
|
|
Loading…
Reference in New Issue