diff --git a/.env.dist b/.env.dist index 566cb2fe..e940ef0c 100644 --- a/.env.dist +++ b/.env.dist @@ -1,9 +1,2 @@ -DOCKER_IMAGES_MYOS=x2go:xfce-debian -NODE_ASTROPORT_SERVICE_1234_TAGS=urlprefix-astroport.${DOMAIN}/ -NODE_VDI_ECRYPTERS=zen -NODE_VDI_LANG=${LANG} -NODE_VDI_PORT=45720 -NODE_VDI_SUDOERS= -NODE_VDI_TZ=UTC -NODE_VDI_USERS=zen -UFW_UPDATE_ASTROPORT=1234 12245:12445/tcp +DOCKER_COMPOSE_VDI=true +DOMAIN=localhost diff --git a/Makefile b/Makefile index 99b1a537..baa7dbaf 100644 --- a/Makefile +++ b/Makefile @@ -9,10 +9,10 @@ SHELL_FILES ?= $(wildcard .*/*.sh */*.sh */*/*.sh) all: install tests -install: myos-node player-build up +install: build myos-node up player player: STACK := User -player: +player: docker-network-create-$(USER) $(call make,stack-User-$(if $(DELETE),down,up),$(MYOS),COMPOSE_PROJECT_NAME MAIL) player-%: STACK := User diff --git a/docker/astroport/.bash_aliases b/docker/astroport/.bash_aliases new file mode 100644 index 00000000..a661a69b --- /dev/null +++ b/docker/astroport/.bash_aliases @@ -0,0 +1,32 @@ +alias Marge='git merge' +alias gif='gif diff' +alias chicken='git checkout' +alias vala='cd' +alias Guy_te_fait_chier='git fetch' +alias poule='git pull' +alias poussez='git push' +alias pousseez='git push' +alias pousseeez='git push' +alias pousseeeez='git push' +alias pousseeeeez='git push' +alias pousseeeeeez='git push' +alias pousseeeeeeez='git push' +alias pousseeeeeeeez='git push' +alias pousseeeeeeeeez='git push' +alias pousseeeeeeeeeez='git push' +alias pousseeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeeeeeez='git push' +alias pousseeeeeeeeeeeeeeeeeeeeeeeeez='git push' + diff --git a/docker/astroport/Dockerfile b/docker/astroport/Dockerfile index 80994c6f..653080b7 100644 --- a/docker/astroport/Dockerfile +++ b/docker/astroport/Dockerfile @@ -8,6 +8,7 @@ ARG DOCKER_SYSTEM=Linux RUN apt-get update \ && apt-get -fy upgrade \ && DEBIAN_FRONTEND=noninteractive apt-get -fy install \ + basez \ bash \ bc \ cron \ @@ -126,6 +127,7 @@ EXPOSE 1234 12345 COPY install.sh /install.sh COPY ${DOCKER_BUILD_DIR}/*.sh /app/ +COPY ${DOCKER_BUILD_DIR}/.*aliases /etc/skel/ CMD ["/app/astroport.sh", "start"] FROM dist as master @@ -184,12 +186,12 @@ RUN echo "SHELL=/bin/bash" > "/var/spool/cron/crontabs/$USER" \ && chown "$USER" "/var/spool/cron/crontabs/$USER" VOLUME "/home/$USER/.ipfs" -VOLUME "/home/$USER/.zen" +VOLUME "/home/$USER/.zen/game/players" VOLUME "/home/$USER/Astroport" # homedir -RUN mkdir -p "/home/$USER/.ipfs" "/home/$USER/.zen" "/home/$USER/Astroport" \ - && chown "$USER" "/home/$USER/.ipfs" "/home/$USER/.zen" "/home/$USER/Astroport" +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" HEALTHCHECK CMD [ $(ps aux |grep 'nc -l -p' |wc -l) -lt 199 ] && echo -n OK diff --git a/docker/astroport/astroport.sh b/docker/astroport/astroport.sh index 86617d13..b999c493 100755 --- a/docker/astroport/astroport.sh +++ b/docker/astroport/astroport.sh @@ -14,8 +14,8 @@ log() { } zen() { - rm -rf /home/zen/.zen/tmp \ - && mkdir -p /dev/shm/tmp \ + mkdir -p /dev/shm/tmp \ + && rm -rf /home/zen/.zen/tmp \ && ln -s /dev/shm/tmp /home/zen/.zen/tmp [ -d "$ASTROPORT_DIR" ] && cd "$ASTROPORT_DIR" && git pull -q || git clone -q "$ASTROPORT_REPO" "$ASTROPORT_DIR" } diff --git a/docker/docker-compose.app.yml b/docker/docker-compose.app.yml index 14b3de07..c1c5558c 100644 --- a/docker/docker-compose.app.yml +++ b/docker/docker-compose.app.yml @@ -5,8 +5,8 @@ services: build: args: - DOCKER_REPOSITORY=${DOCKER_REPOSITORY} - - GID=${NODE_GID} - - UID=${NODE_UID} + - GID=${HOST_GID} + - UID=${HOST_UID} container_name: ${COMPOSE_PROJECT_NAME}-astroport environment: - ENV=${ENV} @@ -15,9 +15,12 @@ services: labels: - SERVICE_1234_CHECK_HTTP=/test - SERVICE_1234_NAME=${COMPOSE_SERVICE_NAME}-astroport-1234 - - SERVICE_1234_TAGS=${NODE_ASTROPORT_SERVICE_1234_TAGS} + - SERVICE_1234_TAGS=${HOST_ASTROPORT_SERVICE_1234_TAGS:-} + volumes: + - dns:/dns volumes: + dns: ipfs: external: true name: ${COMPOSE_SERVICE_NAME}_ipfs diff --git a/docker/docker-compose.vdi.yml b/docker/docker-compose.vdi.yml index 4003a9c9..0690de0e 100644 --- a/docker/docker-compose.vdi.yml +++ b/docker/docker-compose.vdi.yml @@ -2,9 +2,6 @@ version: '3.8' services: astroport: - build: - args: - - SSH_PORT=${NODE_VDI_PORT:-22} cap_add: - IPC_LOCK # ecryptfs - NET_ADMIN # iptables @@ -12,12 +9,20 @@ services: - SYS_ADMIN # ecryptfs environment: - DEBUG=${VDI_DEBUG:-} - - ECRYPTERS=${NODE_VDI_ECRYPTERS:-} - - LANG=${NODE_VDI_LANG:-} + - ECRYPTERS=${HOST_VDI_ECRYPTERS:-zen} + - LANG=${HOST_VDI_LANG:-} + - RC_00_SOURCE=${USER_RC_SOURCE:-/etc/profile.d/rc_functions.sh} + - RC_01_PS1_SET=${USER_RC_PS1_SET:-true} + - RC_02_PROMPT_SET=${USER_RC_PROMPT_SET:-true} + - RC_03_SSH_ADD=${USER_RC_SSH_ADD:-true} + - RC_04_TMUX_ATTACH=${USER_RC_TMUX_ATTACH:-false} + - RC_05_SCREEN_ATTACH=${USER_RC_SCREEN_ATTACH:-true} - SSH_AUTHORIZED_KEYS=${SSH_AUTHORIZED_KEYS:-} - - SSH_PORT=${NODE_VDI_PORT:-22} + - SSH_PORT=${SSH_PORT:-22} - SSH_PUBLIC_HOSTS=${SSH_PUBLIC_HOSTS:-} - - SUDOERS=${NODE_VDI_SUDOERS:-} + - SUDOERS=${HOST_VDI_SUDOERS:-zen} + - TZ=${HOST_VDI_TZ:-:-{TZ}} + - USERS=${HOST_VDI_USERS:-zen} security_opt: - apparmor=unconfined # ecryptfs - seccomp=unconfined # ecryptfs @@ -26,6 +31,7 @@ services: - /etc/localtime:/etc/localtime:ro - /etc/default/console-setup:/etc/default/console-setup:ro - /etc/default/keyboard:/etc/default/keyboard:ro + - /var/run/docker.sock:/var/run/docker.sock:ro - home:/home:delegated - shared:/shared:cached - shm:/dev/shm:delegated diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f9f14862..fba3bd77 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -13,11 +13,11 @@ services: tty: true volumes: - data:/home/zen/Astroport:cached + - home:/home/zen/.zen/game/players:delegated - ipfs:/home/zen/.ipfs:cached,ro - - zen:/home/zen/.zen:delegated working_dir: /home/zen volumes: data: + home: ipfs: - zen: diff --git a/docker/stack.mk b/docker/stack.mk index 47e9078e..8e8efa88 100644 --- a/docker/stack.mk +++ b/docker/stack.mk @@ -1,9 +1,12 @@ -COMPOSE_FILE_VDI := true -MAKE_VARS += NODE_VDI_PORT User node -SERVICE := astroport -SSH_PORT := $(NODE_VDI_PORT) -SSH_PUBLIC_HOSTS += git.p2p.legal -STACK := node -UFW_UPDATE := $(SERVICE) -User := User/ipfs -node := node/ipfs +COMPOSE_FILE_VDI := true +DOCKER_IMAGES_MYOS := x2go:xfce-debian +ENV_VARS += HOST_ASTROPORT_SERVICE_1234_TAGS +HOST_ASTROPORT_SERVICE_1234_TAGS ?= urlprefix-astroport.$(DOMAIN)/ +HOST_ASTROPORT_UFW_UPDATE := 1234/tcp 12245:12445/tcp 45720/tcp +MAKE_VARS += SSH_PORT User host +SERVICE := astroport +SSH_PORT := 45720 +SSH_PUBLIC_HOSTS := git.p2p.legal +STACK := host +User := User/ipfs +host := host/ipfs