diff --git a/docker/ipfs/Dockerfile b/docker/ipfs/Dockerfile index 992488e..bf07220 100644 --- a/docker/ipfs/Dockerfile +++ b/docker/ipfs/Dockerfile @@ -1,5 +1,5 @@ -ARG IPFS_VERSION=0.13.0 -FROM ipfs/go-ipfs:v${IPFS_VERSION} as dist +ARG IPFS_VERSION=0.14.0 +FROM ipfs/kubo:v${IPFS_VERSION} as dist LABEL maintainer aynic.os ARG DOCKER_BUILD_DIR diff --git a/docker/ipfs/ipfs-config.sh b/docker/ipfs/ipfs-config.sh index 4078912..91550fb 100755 --- a/docker/ipfs/ipfs-config.sh +++ b/docker/ipfs/ipfs-config.sh @@ -1,4 +1,5 @@ #!/bin/sh +[ -n "${DEBUG:-}" -a "${DEBUG:-}" != "false" ] && set -x set -e ## fix resource manager fatal error on arm64/linux with 2Gb RAM @@ -20,7 +21,7 @@ echo "${IPFS_ADDRESSES_API_INET4}" |awk -F. '{ for ( i=1; i<=4; i++ ) if ($i >= # check ${IPFS_ADDRESSES_API_PORT} format [ "${IPFS_ADDRESSES_API_PORT}" -eq "${IPFS_ADDRESSES_API_PORT}" ] 2>/dev/null && [ "${IPFS_ADDRESSES_API_PORT}" -ge 1 ] && [ "${IPFS_ADDRESSES_API_PORT}" -le 65535 ] \ || unset IPFS_ADDRESSES_API_PORT -ipfs config Addresses.Api "${IPFS_ADDRESSES_API:-/ip4/${IPFS_ADDRESSES_API_INET4:-127.0.0.1}/tcp/${IPFS_ADDRESSES_API_PORT:-5001}}" +ipfs config Addresses.API "${IPFS_ADDRESSES_API:-/ip4/${IPFS_ADDRESSES_API_INET4:-127.0.0.1}/tcp/${IPFS_ADDRESSES_API_PORT:-5001}}" ## gateway address # search for ip address of $(hostname).${IPFS_ADDRESSES_GATEWAY_DOMAIN} @@ -86,3 +87,4 @@ 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 ||: diff --git a/docker/myos/Dockerfile b/docker/myos/Dockerfile index 3221f8e..5d472e0 100644 --- a/docker/myos/Dockerfile +++ b/docker/myos/Dockerfile @@ -40,15 +40,15 @@ RUN git clone https://github.com/ingydotnet/git-subrepo \ && cd .. \ && rm -rf git-subrepo -ARG IPFS_VERSION=0.13.0 +ARG IPFS_VERSION=0.14.0 RUN { OS="$(echo ${OPERATING_SYSTEM} |awk '{print tolower($0)}')"; \ ARCH="$(echo ${PROCESSOR_ARCHITECTURE})"; \ 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; } \ && { ARCH="$(echo ${PROCESSOR_ARCHITECTURE} |awk '/x86_64/ {print "amd64"}; /aarch64/ {print "arm64"}')"; \ - wget -qO - https://github.com/ipfs/go-ipfs/releases/download/v${IPFS_VERSION}/go-ipfs_v${IPFS_VERSION}_${OS}-${ARCH}.tar.gz \ - |tar --strip-components 1 -C /usr/local/bin -xzf - go-ipfs/ipfs; } \ + 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 - \ diff --git a/docker/packer/Dockerfile b/docker/packer/Dockerfile index 011f12d..98023e9 100644 --- a/docker/packer/Dockerfile +++ b/docker/packer/Dockerfile @@ -2,7 +2,9 @@ FROM alpine:latest as dist LABEL maintainer aynic.os ARG DOCKER_BUILD_DIR -ENV PACKER_VERSION=1.6.6 +ARG ARCH="$(uname -m |awk '/x86_64/ {print "amd64"}; /aarch64/ {print "arm64"}')" +ARG OS="$(uname -o |awk '{print tolower($0)}')" +ARG PACKER_VERSION=1.6.6 RUN apk --no-cache add \ ansible \ diff --git a/docker/zen/Dockerfile b/docker/zen/Dockerfile index 86a5c65..5296ba3 100644 --- a/docker/zen/Dockerfile +++ b/docker/zen/Dockerfile @@ -14,6 +14,7 @@ ENV GIT_COMMITTER_EMAIL=${GIT_AUTHOR_EMAIL} RUN apt-get update \ && apt-get -fy install \ bash \ + cron \ curl \ gettext \ git \ @@ -23,22 +24,31 @@ RUN apt-get update \ nano \ netcat-openbsd \ openssh-client \ + python3 \ screen \ socat \ + sudo \ tmux \ vim-nox \ wget \ xz-utils -ARG IPFS_VERSION=0.13.0 +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 ${OPERATING_SYSTEM} |awk '{print tolower($0)}')"; \ ARCH="$(echo ${PROCESSOR_ARCHITECTURE})"; \ 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; } \ - && { ARCH="$(echo ${PROCESSOR_ARCHITECTURE} |awk '/x86_64/ {print "amd64"}; /aarch64/ {print "arm64"}')"; \ - wget -qO - https://github.com/ipfs/go-ipfs/releases/download/v${IPFS_VERSION}/go-ipfs_v${IPFS_VERSION}_${OS}-${ARCH}.tar.gz \ - |tar --strip-components 1 -C /usr/local/bin -xzf - go-ipfs/ipfs; } \ + && { OS="$(echo ${OPERATING_SYSTEM} |awk '{print tolower($0)}')"; \ + ARCH="$(echo ${PROCESSOR_ARCHITECTURE} |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 - \ @@ -47,11 +57,6 @@ RUN { OS="$(echo ${OPERATING_SYSTEM} |awk '{print tolower($0)}')"; \ ADD https://raw.github.com/kvz/cronlock/master/cronlock /usr/local/bin/cronlock RUN chmod +rx /usr/local/bin/cronlock -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 - COPY ${DOCKER_BUILD_DIR}/docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["start"] @@ -66,11 +71,6 @@ ENV UID=${UID} ENV GID=${UID} ENV USER=${USER} -RUN apt-get -fy install \ - cron \ - python3 \ - sudo - # If we provide a numeric UID RUN [ "$UID" -eq "$UID" ] 2>/dev/null \ # Remove user with $UID if it is not our $USER @@ -106,8 +106,6 @@ USER $USER ENV SHELL=${SHELL} WORKDIR /home/$USER -RUN mkdir ~/.zen ~/astroport - # git config RUN mkdir -p ~/.config/git \ && echo -e "\ @@ -120,4 +118,4 @@ RUN mkdir -p ~/.config/git \ Thumbs.db\n\ " > ~/.config/git/ignore -RUN bash -c '. /include.sh && install_requirements' +RUN mkdir ~/.zen ~/astroport diff --git a/make/apps/common.mk b/make/apps/common.mk index f3acfe1..6e6da23 100644 --- a/make/apps/common.mk +++ b/make/apps/common.mk @@ -182,7 +182,7 @@ stack-%: $(eval command := $(lastword $(subst -, ,$*))) $(if $(findstring -,$*), \ $(if $(filter $(command),$(filter-out %-%,$(patsubst docker-compose-%,%,$(filter docker-compose-%,$(MAKE_TARGETS))))), \ - $(call make,docker-compose-$(command) STACK="$(stack)",,ARGS COMPOSE_IGNORE_ORPHANS SERVICE User node))) + $(call make,$(command) STACK="$(stack)",,ARGS COMPOSE_IGNORE_ORPHANS SERVICE User node))) # target start app-start: Start application dockers # on local host diff --git a/make/apps/def.mk b/make/apps/def.mk index 341eea0..839e0c8 100644 --- a/make/apps/def.mk +++ b/make/apps/def.mk @@ -23,7 +23,7 @@ ENV_VARS += APP_DIR APP_DOMAIN APP_HOST APP_PATH APP_URL MOUNT_NFS ?= false NFS_CONFIG ?= addr=$(NFS_HOST),actimeo=3,intr,noacl,noatime,nocto,nodiratime,nolock,soft,rsize=32768,wsize=32768,tcp,rw,vers=3 NFS_HOST ?= host.docker.internal -PROJECT_NAME ?= $(USER)_$(ENV)_$(APP) +PROJECT_NAME ?= $(USER)_$(APP)_$(ENV) SERVICE_NAME ?= $(COMPOSE_SERVICE_NAME) SERVICE_VERSION ?= $(BUILD_DATE)-$(VERSION) SERVICES ?= $(DOCKER_SERVICES) diff --git a/make/apps/myos/ssh.mk b/make/apps/myos/ssh.mk index 047e3b9..1ca8e86 100644 --- a/make/apps/myos/ssh.mk +++ b/make/apps/myos/ssh.mk @@ -11,7 +11,7 @@ ssh: ssh-get-PrivateIpAddress-$(SERVER_NAME) ## Connect to first remote host ssh-add: DOCKER_RUN_OPTIONS += -it ssh-add: ssh-key $(eval SSH_PRIVATE_KEYS := $(foreach file,$(SSH_DIR)/id_rsa $(filter-out $(wildcard $(SSH_DIR)/id_rsa),$(wildcard $(SSH_DIR)/*)),$(if $(shell grep "PRIVATE KEY" $(file) 2>/dev/null),$(notdir $(file))))) - $(call run,sh -c '$(foreach file,$(patsubst %,$(SSH_DIR)/%,$(SSH_PRIVATE_KEYS)),ssh-add -l |grep -qw $$(ssh-keygen -lf $(file) 2>/dev/null |awk '\''{print $$2}'\'') 2>/dev/null || $(RUN) ssh-add $(file) ||: &&) true',-v $(SSH_DIR):$(SSH_DIR) $(DOCKER_IMAGE) ) + $(call run,sh -c '$(foreach file,$(patsubst %,$(SSH_DIR)/%,$(SSH_PRIVATE_KEYS)),ssh-add -l |grep -qw $$(ssh-keygen -lf $(file) 2>/dev/null |awk '\''{print $$2}'\'') 2>/dev/null || $(RUN) ssh-add $(file) ||: &&) true',-v $(SSH_DIR):$(SSH_DIR) $(USER_DOCKER_IMAGE) ) # target ssh-connect: Call ssh-connect make connect SERVICE .PHONY: ssh-connect @@ -22,7 +22,7 @@ ssh-connect: ssh-get-PrivateIpAddress-$(SERVER_NAME) .PHONY: ssh-del ssh-del: $(eval SSH_PRIVATE_KEYS := $(foreach file,$(SSH_DIR)/id_rsa $(filter-out $(wildcard $(SSH_DIR)/id_rsa),$(wildcard $(SSH_DIR)/*)),$(if $(shell grep "PRIVATE KEY" $(file) 2>/dev/null),$(notdir $(file))))) - $(call run,sh -c '$(foreach file,$(patsubst %,$(SSH_DIR)/%,$(SSH_PRIVATE_KEYS)),ssh-add -l |grep -qw $$(ssh-keygen -lf $(file) 2>/dev/null |awk '\''{print $$2}'\'') 2>/dev/null && $(RUN) ssh-add -d $(file) ||: &&) true',-v $(SSH_DIR):$(SSH_DIR) $(DOCKER_IMAGE) ) + $(call run,sh -c '$(foreach file,$(patsubst %,$(SSH_DIR)/%,$(SSH_PRIVATE_KEYS)),ssh-add -l |grep -qw $$(ssh-keygen -lf $(file) 2>/dev/null |awk '\''{print $$2}'\'') 2>/dev/null && $(RUN) ssh-add -d $(file) ||: &&) true',-v $(SSH_DIR):$(SSH_DIR) $(USER_DOCKER_IMAGE) ) # target ssh-exec: Call ssh-exec make exec SERVICE ARGS .PHONY: ssh-exec diff --git a/make/def.docker.mk b/make/def.docker.mk index dbeb7ef..2319a47 100644 --- a/make/def.docker.mk +++ b/make/def.docker.mk @@ -1,8 +1,8 @@ DOCKER_ENV_ARGS ?= $(docker_env_args) DOCKER_EXEC_OPTIONS ?= DOCKER_GID ?= $(call gid,docker) -DOCKER_IMAGE ?= $(USER_DOCKER_REPOSITORY)/myos:${DOCKER_IMAGE_TAG} -DOCKER_NAME ?= $(USER_COMPOSE_PROJECT_NAME)_myos +DOCKER_IMAGE ?= $(USER_DOCKER_IMAGE) +DOCKER_NAME ?= $(USER_DOCKER_NAME) DOCKER_NETWORK ?= $(DOCKER_NETWORK_PRIVATE) DOCKER_NETWORK_PRIVATE ?= $(USER_COMPOSE_PROJECT_NAME) DOCKER_NETWORK_PUBLIC ?= $(NODE_COMPOSE_PROJECT_NAME) @@ -13,14 +13,17 @@ DOCKER_RUN_OPTIONS += --rm # DOCKER_RUN_VOLUME: options -v of `docker run` command to mount additionnal volumes DOCKER_RUN_VOLUME += -v /var/run/docker.sock:/var/run/docker.sock DOCKER_RUN_WORKDIR ?= -w $(PWD) -DOCKER_VOLUME ?= $(USER_COMPOSE_PROJECT_NAME)_myos -ENV_VARS += NODE_COMPOSE_PROJECT_NAME USER_COMPOSE_PROJECT_NAME NODE_COMPOSE_SERVICE_NAME USER_COMPOSE_SERVICE_NAME DOCKER_IMAGE DOCKER_NAME DOCKER_NETWORK_PRIVATE DOCKER_NETWORK_PUBLIC USER_DOCKER_REPOSITORY NODE_DOCKER_REPOSITORY DOCKER_VOLUME +ENV_VARS += DOCKER_NETWORK_PRIVATE DOCKER_NETWORK_PUBLIC NODE_COMPOSE_PROJECT_NAME NODE_COMPOSE_SERVICE_NAME NODE_DOCKER_REPOSITORY NODE_DOCKER_VOLUME USER_COMPOSE_PROJECT_NAME USER_COMPOSE_SERVICE_NAME USER_DOCKER_IMAGE USER_DOCKER_NAME USER_DOCKER_REPOSITORY USER_DOCKER_VOLUME NODE_COMPOSE_PROJECT_NAME ?= node NODE_COMPOSE_SERVICE_NAME ?= $(subst _,-,$(NODE_COMPOSE_PROJECT_NAME)) NODE_DOCKER_REPOSITORY ?= $(subst -,/,$(subst _,/,$(NODE_COMPOSE_PROJECT_NAME))) +NODE_DOCKER_VOLUME ?= $(NODE_COMPOSE_PROJECT_NAME)_myos USER_COMPOSE_PROJECT_NAME ?= $(USER)_$(ENV) USER_COMPOSE_SERVICE_NAME ?= $(subst _,-,$(USER_COMPOSE_PROJECT_NAME)) +USER_DOCKER_IMAGE ?= $(USER_DOCKER_REPOSITORY)/myos:${DOCKER_IMAGE_TAG} +USER_DOCKER_NAME ?= $(USER_COMPOSE_PROJECT_NAME)-myos USER_DOCKER_REPOSITORY ?= $(subst -,/,$(subst _,/,$(USER_COMPOSE_PROJECT_NAME))) +USER_DOCKER_VOLUME ?= $(USER_COMPOSE_PROJECT_NAME)_myos # https://github.com/docker/libnetwork/pull/2348 ifeq ($(OPERATING_SYSTEM),Darwin) @@ -47,7 +50,7 @@ endif ifneq ($(DOCKER_RUN),) -DOCKER_SSH_AUTH := -e SSH_AUTH_SOCK=/tmp/ssh-agent/socket -v $(DOCKER_VOLUME):/tmp/ssh-agent +DOCKER_SSH_AUTH := -e SSH_AUTH_SOCK=/tmp/ssh-agent/socket -v $(USER_DOCKER_VOLUME):/tmp/ssh-agent # function docker-run: Run docker image 2 with arg 1 define docker-run diff --git a/stack/User/User.yml b/stack/User/User.yml index 206ff37..3c88ee4 100644 --- a/stack/User/User.yml +++ b/stack/User/User.yml @@ -8,7 +8,7 @@ services: - GID=${GID} - GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME} - GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL} - - IPFS_VERSION=0.13.0 + - IPFS_VERSION=${IPFS_VERSION} - UID=${UID} - USER=${USER} - SSH_BASTION_HOSTNAME=${SSH_BASTION_HOSTNAME} @@ -17,7 +17,7 @@ services: - SSH_PRIVATE_IP_RANGE=${SSH_PRIVATE_IP_RANGE} context: ../.. dockerfile: docker/myos/Dockerfile - container_name: ${DOCKER_NAME} + container_name: ${USER_DOCKER_NAME} environment: - ENV=${ENV} - RC_00_SOURCE=${USER_MYOS_RC_SOURCE} @@ -27,22 +27,29 @@ services: - RC_04_TMUX_ATTACH=${USER_MYOS_RC_TMUX_ATTACH} - RC_05_SCREEN_ATTACH=${USER_MYOS_RC_SCREEN_ATTACH} - SHELL=${DOCKER_SHELL} - image: ${DOCKER_IMAGE} + image: ${USER_DOCKER_IMAGE} networks: - private restart: always user: ${UID}:${GID} volumes: # - ${HOME}:${HOME}:cached - - ${MONOREPO_DIR}:${MONOREPO_DIR}:cached + - monorepo:${MONOREPO_DIR}:cached - myos:/tmp/ssh-agent # - /var/run/docker.sock:/var/run/docker.sock working_dir: ${MONOREPO_DIR} volumes: + monorepo: + driver: local + driver_opts: + type: none + device: ${MONOREPO_DIR} + o: bind + name: ${USER_COMPOSE_PROJECT_NAME} myos: external: true - name: ${DOCKER_VOLUME} + name: ${USER_DOCKER_VOLUME} networks: private: diff --git a/stack/ipfs.mk b/stack/ipfs.mk index ed6c820..14d2588 100644 --- a/stack/ipfs.mk +++ b/stack/ipfs.mk @@ -1,3 +1,7 @@ +ENV_VARS += IPFS_PROFILE IPFS_VERSION +IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(PROCESSOR_ARCHITECTURE)),lowpower,server) +IPFS_VERSION ?= 0.14.0 + .PHONY: bootstrap-stack-ipfs bootstrap-stack-ipfs: ~/.ipfs diff --git a/stack/ipfs/ipfs.yml b/stack/ipfs/ipfs.yml index d677ceb..d6f69f2 100644 --- a/stack/ipfs/ipfs.yml +++ b/stack/ipfs/ipfs.yml @@ -5,51 +5,50 @@ services: build: args: - DOCKER_BUILD_DIR=docker/ipfs - - IPFS_VERSION=0.13.0 + - IPFS_VERSION=${IPFS_VERSION} - UID=${UID} context: ../.. dockerfile: docker/ipfs/Dockerfile command: daemon --agent-version-suffix=${COMPOSE_PROJECT_NAME} --enable-gc --migrate cpus: 0.5 environment: - - IPFS_ADDRESSES_API=${IPFS_ADDRESSES_API} - - IPFS_ADDRESSES_API_DOMAIN=${IPFS_ADDRESSES_API_DOMAIN} - - IPFS_ADDRESSES_API_INET4=${IPFS_ADDRESSES_API_INET4} - - IPFS_ADDRESSES_API_PORT=${IPFS_ADDRESSES_API_PORT} - - IPFS_ADDRESSES_GATEWAY=${IPFS_ADDRESSES_GATEWAY} - - IPFS_ADDRESSES_GATEWAY_DOMAIN=${IPFS_ADDRESSES_GATEWAY_DOMAIN} - - IPFS_ADDRESSES_GATEWAY_INET4=${IPFS_ADDRESSES_GATEWAY_INET4} - - IPFS_ADDRESSES_GATEWAY_PORT=${IPFS_ADDRESSES_GATEWAY_PORT} - - IPFS_API_HTTPHEADERS=${IPFS_API_HTTPHEADERS} - - IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=${IPFS_API_HTTPHEADERS_ACA_CREDENTIALS} - - IPFS_API_HTTPHEADERS_ACA_HEADERS=${IPFS_API_HTTPHEADERS_ACA_HEADERS} - - IPFS_API_HTTPHEADERS_ACA_METHODS=${IPFS_API_HTTPHEADERS_ACA_METHODS} - - IPFS_API_HTTPHEADERS_ACA_ORIGIN=${IPFS_API_HTTPHEADERS_ACA_ORIGIN} - - IPFS_BOOTSTRAP=${IPFS_BOOTSTRAP} - - IPFS_DATASTORE_GCPERIOD=${IPFS_DATASTORE_GCPERIOD} - - IPFS_DISK_USAGE_PERCENT=${IPFS_DISK_USAGE_PERCENT} - - IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT} - - IPFS_EXPERIMENTAL_FILESTOREENABLED=${IPFS_EXPERIMENTAL_FILESTOREENABLED} - - IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${IPFS_EXPERIMENTAL_GRAPHSYNCENABLED} - - IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING} - - IPFS_EXPERIMENTAL_P2PHTTPPROXY=${IPFS_EXPERIMENTAL_P2PHTTPPROXY} - - IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${IPFS_EXPERIMENTAL_STRATEGICPROVIDING} - - IPFS_EXPERIMENTAL_URLSTOREENABLED=${IPFS_EXPERIMENTAL_URLSTOREENABLED} - - IPFS_IPNS_REPUBLISHPERIOD=${IPFS_IPNS_REPUBLISHPERIOD} - - IPFS_IPNS_RECORDLIFETIME=${IPFS_IPNS_RECORDLIFETIME} - - IPFS_IPNS_USEPUBSUB=${IPFS_IPNS_USEPUBSUB} - - IPFS_LOGGING=${IPFS_LOGGING} - - IPFS_PROFILE=${IPFS_PROFILE} - - IPFS_PUBSUB_ENABLE=${IPFS_PUBSUB_ENABLE} - - IPFS_PUBSUB_ROUTER=${IPFS_PUBSUB_ROUTER} - - IPFS_ROUTING_TYPE=${IPFS_ROUTING_TYPE} - - IPFS_SWARM_CONNMGR_HIGHWATER=${IPFS_SWARM_CONNMGR_HIGHWATER} - - IPFS_SWARM_CONNMGR_LOWWATER=${IPFS_SWARM_CONNMGR_LOWWATER} + - IPFS_ADDRESSES_API=${IPFS_ADDRESSES_API:-} + - IPFS_ADDRESSES_API_DOMAIN=${IPFS_ADDRESSES_API_DOMAIN:-} + - IPFS_ADDRESSES_API_INET4=${IPFS_ADDRESSES_API_INET4:-} + - IPFS_ADDRESSES_API_PORT=${IPFS_ADDRESSES_API_PORT:-} + - IPFS_ADDRESSES_GATEWAY=${IPFS_ADDRESSES_GATEWAY:-} + - IPFS_ADDRESSES_GATEWAY_DOMAIN=${IPFS_ADDRESSES_GATEWAY_DOMAIN:-} + - IPFS_ADDRESSES_GATEWAY_INET4=${IPFS_ADDRESSES_GATEWAY_INET4:-} + - IPFS_ADDRESSES_GATEWAY_PORT=${IPFS_ADDRESSES_GATEWAY_PORT:-} + - IPFS_API_HTTPHEADERS=${IPFS_API_HTTPHEADERS:-} + - IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=${IPFS_API_HTTPHEADERS_ACA_CREDENTIALS:-} + - IPFS_API_HTTPHEADERS_ACA_HEADERS=${IPFS_API_HTTPHEADERS_ACA_HEADERS:-} + - IPFS_API_HTTPHEADERS_ACA_METHODS=${IPFS_API_HTTPHEADERS_ACA_METHODS:-} + - IPFS_API_HTTPHEADERS_ACA_ORIGIN=${IPFS_API_HTTPHEADERS_ACA_ORIGIN:-} + - IPFS_BOOTSTRAP=${IPFS_BOOTSTRAP:-} + - IPFS_DATASTORE_GCPERIOD=${IPFS_DATASTORE_GCPERIOD:-} + - IPFS_DISK_USAGE_PERCENT=${IPFS_DISK_USAGE_PERCENT:-} + - IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT:-} + - IPFS_EXPERIMENTAL_FILESTOREENABLED=${IPFS_EXPERIMENTAL_FILESTOREENABLED:-} + - IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${IPFS_EXPERIMENTAL_GRAPHSYNCENABLED:-} + - IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING:-} + - IPFS_EXPERIMENTAL_P2PHTTPPROXY=${IPFS_EXPERIMENTAL_P2PHTTPPROXY:-} + - IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-} + - IPFS_EXPERIMENTAL_URLSTOREENABLED=${IPFS_EXPERIMENTAL_URLSTOREENABLED:-} + - IPFS_IPNS_REPUBLISHPERIOD=${IPFS_IPNS_REPUBLISHPERIOD:-} + - IPFS_IPNS_RECORDLIFETIME=${IPFS_IPNS_RECORDLIFETIME:-} + - IPFS_IPNS_USEPUBSUB=${IPFS_IPNS_USEPUBSUB:-} + - IPFS_LOGGING=${IPFS_LOGGING:-} + - IPFS_PROFILE=${IPFS_PROFILE:-} + - IPFS_PUBSUB_ENABLE=${IPFS_PUBSUB_ENABLE:-} + - IPFS_PUBSUB_ROUTER=${IPFS_PUBSUB_ROUTER:-} + - IPFS_ROUTING_TYPE=${IPFS_ROUTING_TYPE:-} + - IPFS_SWARM_CONNMGR_HIGHWATER=${IPFS_SWARM_CONNMGR_HIGHWATER:-} + - IPFS_SWARM_CONNMGR_LOWWATER=${IPFS_SWARM_CONNMGR_LOWWATER:-} image: ${DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG} labels: - SERVICE_4001_CHECK_TCP=true - SERVICE_4001_NAME=${COMPOSE_SERVICE_NAME}-ipfs:4001 - - SERVICE_5001_CHECK_TCP=true - SERVICE_5001_NAME=${COMPOSE_SERVICE_NAME}-ipfs:5001 - SERVICE_8080_CHECK_HTTP=${IPFS_SERVICE_8080_CHECK_TCP} - SERVICE_8080_NAME=${COMPOSE_SERVICE_NAME}-ipfs:8080 @@ -59,7 +58,8 @@ services: - private - public ports: - - 4001 + - 4001/tcp + - 4001/udp - 5001/tcp - 8080/tcp restart: always diff --git a/stack/node.mk b/stack/node.mk index 94dd3a3..5cb5b8f 100644 --- a/stack/node.mk +++ b/stack/node.mk @@ -1,6 +1,5 @@ -node ?= node/node node/portainer -ENV_VARS += DOCKER_HOST_IFACE DOCKER_HOST_INET4 DOCKER_INTERNAL_DOCKER_HOST IPFS_PROFILE -IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(PROCESSOR_ARCHITECTURE)),lowpower,server) +node ?= node/node +ENV_VARS += DOCKER_HOST_IFACE DOCKER_HOST_INET4 DOCKER_INTERNAL_DOCKER_HOST # target bootstrap-stack-node: Fire node-ssl-certs .PHONY: bootstrap-stack-node @@ -16,8 +15,8 @@ node-%: stack-node-%; # target node-ssl-certs: Create ${DOMAIN}.key.pem and ${DOMAIN}.crt.pem files .PHONY: node-ssl-certs node-ssl-certs: - docker run --rm --mount source=$(NODE_COMPOSE_PROJECT_NAME)_ssl-certs,target=/certs alpine [ -f /certs/$(DOMAIN).crt.pem -a -f /certs/$(DOMAIN).key.pem ] \ - || $(RUN) docker run --rm -e DOMAIN=$(DOMAIN) --mount source=$(NODE_COMPOSE_PROJECT_NAME)_ssl-certs,target=/certs alpine sh -c "\ + docker run --rm --mount source=$(NODE_DOCKER_VOLUME),target=/certs alpine [ -f /certs/$(DOMAIN).crt.pem -a -f /certs/$(DOMAIN).key.pem ] \ + || $(RUN) docker run --rm -e DOMAIN=$(DOMAIN) --mount source=$(NODE_DOCKER_VOLUME),target=/certs alpine sh -c "\ apk --no-cache add openssl \ && { [ -f /certs/${DOMAIN}.key.pem ] || openssl genrsa -out /certs/${DOMAIN}.key.pem 2048; } \ && openssl req -key /certs/${DOMAIN}.key.pem -out /certs/${DOMAIN}.crt.pem \ diff --git a/stack/node/exporter/exporter.yml b/stack/node/exporter/exporter.yml index 8fdd423..2e0efe0 100644 --- a/stack/node/exporter/exporter.yml +++ b/stack/node/exporter/exporter.yml @@ -2,7 +2,7 @@ version: '3.6' services: cadvisor-exporter: - container_name: ${NODE_COMPOSE_PROJECT_NAME}_cadvisor-exporter + container_name: ${NODE_COMPOSE_PROJECT_NAME}-cadvisor-exporter hostname: ${HOSTNAME} image: google/cadvisor:latest labels: @@ -26,7 +26,7 @@ services: - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)" - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - container_name: ${NODE_COMPOSE_PROJECT_NAME}_node-exporter + container_name: ${NODE_COMPOSE_PROJECT_NAME}-node-exporter hostname: ${HOSTNAME} image: prom/node-exporter:latest labels: diff --git a/stack/node/ipfs/ipfs.yml b/stack/node/ipfs/ipfs.yml index 9cee053..efddee9 100644 --- a/stack/node/ipfs/ipfs.yml +++ b/stack/node/ipfs/ipfs.yml @@ -5,46 +5,46 @@ services: build: args: - DOCKER_BUILD_DIR=docker/ipfs - - IPFS_VERSION=0.13.0 + - IPFS_VERSION=${IPFS_VERSION} context: ../.. dockerfile: docker/ipfs/Dockerfile command: daemon --agent-version-suffix=${NODE_COMPOSE_PROJECT_NAME} --enable-gc --migrate - container_name: ${NODE_COMPOSE_PROJECT_NAME}_ipfs + container_name: ${NODE_COMPOSE_PROJECT_NAME}-ipfs cpus: 0.5 environment: - - IPFS_ADDRESSES_API=${NODE_IPFS_ADDRESSES_API} - - IPFS_ADDRESSES_API_DOMAIN=${NODE_IPFS_ADDRESSES_API_DOMAIN} - - IPFS_ADDRESSES_API_INET4=${NODE_IPFS_ADDRESSES_API_INET4} - - IPFS_ADDRESSES_API_PORT=${NODE_IPFS_ADDRESSES_API_PORT} - - IPFS_ADDRESSES_GATEWAY=${NODE_IPFS_ADDRESSES_GATEWAY} - - IPFS_ADDRESSES_GATEWAY_DOMAIN=${NODE_IPFS_ADDRESSES_GATEWAY_DOMAIN} - - IPFS_ADDRESSES_GATEWAY_INET4=${NODE_IPFS_ADDRESSES_GATEWAY_INET4} - - IPFS_ADDRESSES_GATEWAY_PORT=${NODE_IPFS_ADDRESSES_GATEWAY_PORT} - - IPFS_API_HTTPHEADERS=${NODE_IPFS_API_HTTPHEADERS} - - IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=${NODE_IPFS_API_HTTPHEADERS_ACA_CREDENTIALS} - - IPFS_API_HTTPHEADERS_ACA_HEADERS=${NODE_IPFS_API_HTTPHEADERS_ACA_HEADERS} - - IPFS_API_HTTPHEADERS_ACA_METHODS=${NODE_IPFS_API_HTTPHEADERS_ACA_METHODS} - - IPFS_API_HTTPHEADERS_ACA_ORIGIN=${NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN} - - IPFS_BOOTSTRAP=${NODE_IPFS_BOOTSTRAP} - - IPFS_DATASTORE_GCPERIOD=${NODE_IPFS_DATASTORE_GCPERIOD} - - IPFS_DISK_USAGE_PERCENT=${NODE_IPFS_DISK_USAGE_PERCENT} - - IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${NODE_IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT} - - IPFS_EXPERIMENTAL_FILESTOREENABLED=${NODE_IPFS_EXPERIMENTAL_FILESTOREENABLED} - - IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${NODE_IPFS_EXPERIMENTAL_GRAPHSYNCENABLED} - - IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${NODE_IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING} - - IPFS_EXPERIMENTAL_P2PHTTPPROXY=${NODE_IPFS_EXPERIMENTAL_P2PHTTPPROXY} - - IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${NODE_IPFS_EXPERIMENTAL_STRATEGICPROVIDING} - - IPFS_EXPERIMENTAL_URLSTOREENABLED=${NODE_IPFS_EXPERIMENTAL_URLSTOREENABLED} - - IPFS_IPNS_REPUBLISHPERIOD=${NODE_IPFS_IPNS_REPUBLISHPERIOD} - - IPFS_IPNS_RECORDLIFETIME=${NODE_IPFS_IPNS_RECORDLIFETIME} - - IPFS_IPNS_USEPUBSUB=${NODE_IPFS_IPNS_USEPUBSUB} - - IPFS_LOGGING=${NODE_IPFS_LOGGING} - - IPFS_PROFILE=${IPFS_PROFILE} - - IPFS_PUBSUB_ENABLE=${NODE_IPFS_PUBSUB_ENABLE} - - IPFS_PUBSUB_ROUTER=${NODE_IPFS_PUBSUB_ROUTER} - - IPFS_ROUTING_TYPE=${NODE_IPFS_ROUTING_TYPE} - - IPFS_SWARM_CONNMGR_HIGHWATER=${NODE_IPFS_SWARM_CONNMGR_HIGHWATER} - - IPFS_SWARM_CONNMGR_LOWWATER=${NODE_IPFS_SWARM_CONNMGR_LOWWATER} + - IPFS_ADDRESSES_API=${NODE_IPFS_ADDRESSES_API:-} + - IPFS_ADDRESSES_API_DOMAIN=${NODE_IPFS_ADDRESSES_API_DOMAIN:-} + - IPFS_ADDRESSES_API_INET4=${NODE_IPFS_ADDRESSES_API_INET4:-} + - IPFS_ADDRESSES_API_PORT=${NODE_IPFS_ADDRESSES_API_PORT:-} + - IPFS_ADDRESSES_GATEWAY=${NODE_IPFS_ADDRESSES_GATEWAY:-} + - IPFS_ADDRESSES_GATEWAY_DOMAIN=${NODE_IPFS_ADDRESSES_GATEWAY_DOMAIN:-} + - IPFS_ADDRESSES_GATEWAY_INET4=${NODE_IPFS_ADDRESSES_GATEWAY_INET4:-} + - IPFS_ADDRESSES_GATEWAY_PORT=${NODE_IPFS_ADDRESSES_GATEWAY_PORT:-} + - IPFS_API_HTTPHEADERS=${NODE_IPFS_API_HTTPHEADERS:-} + - IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=${NODE_IPFS_API_HTTPHEADERS_ACA_CREDENTIALS:-} + - IPFS_API_HTTPHEADERS_ACA_HEADERS=${NODE_IPFS_API_HTTPHEADERS_ACA_HEADERS:-} + - IPFS_API_HTTPHEADERS_ACA_METHODS=${NODE_IPFS_API_HTTPHEADERS_ACA_METHODS:-} + - IPFS_API_HTTPHEADERS_ACA_ORIGIN=${NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN:-} + - IPFS_BOOTSTRAP=${NODE_IPFS_BOOTSTRAP:-} + - IPFS_DATASTORE_GCPERIOD=${NODE_IPFS_DATASTORE_GCPERIOD:-} + - IPFS_DISK_USAGE_PERCENT=${NODE_IPFS_DISK_USAGE_PERCENT:-} + - IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${NODE_IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT:-} + - IPFS_EXPERIMENTAL_FILESTOREENABLED=${NODE_IPFS_EXPERIMENTAL_FILESTOREENABLED:-} + - IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${NODE_IPFS_EXPERIMENTAL_GRAPHSYNCENABLED:-} + - IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${NODE_IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING:-} + - IPFS_EXPERIMENTAL_P2PHTTPPROXY=${NODE_IPFS_EXPERIMENTAL_P2PHTTPPROXY:-} + - IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${NODE_IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-} + - IPFS_EXPERIMENTAL_URLSTOREENABLED=${NODE_IPFS_EXPERIMENTAL_URLSTOREENABLED:-} + - IPFS_IPNS_REPUBLISHPERIOD=${NODE_IPFS_IPNS_REPUBLISHPERIOD:-} + - IPFS_IPNS_RECORDLIFETIME=${NODE_IPFS_IPNS_RECORDLIFETIME:-} + - IPFS_IPNS_USEPUBSUB=${NODE_IPFS_IPNS_USEPUBSUB:-} + - IPFS_LOGGING=${NODE_IPFS_LOGGING:-} + - IPFS_PROFILE=${IPFS_PROFILE:-} + - IPFS_PUBSUB_ENABLE=${NODE_IPFS_PUBSUB_ENABLE:-} + - IPFS_PUBSUB_ROUTER=${NODE_IPFS_PUBSUB_ROUTER:-} + - IPFS_ROUTING_TYPE=${NODE_IPFS_ROUTING_TYPE:-} + - IPFS_SWARM_CONNMGR_HIGHWATER=${NODE_IPFS_SWARM_CONNMGR_HIGHWATER:-} + - IPFS_SWARM_CONNMGR_LOWWATER=${NODE_IPFS_SWARM_CONNMGR_LOWWATER:-} image: ${NODE_DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG} labels: - SERVICE_4001_CHECK_TCP=true @@ -55,12 +55,7 @@ services: - SERVICE_8080_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs:8080 - SERVICE_8080_TAGS=${NODE_IPFS_SERVICE_8080_TAGS} - SERVICE_8081_IGNORE=true - networks: - - public - ports: - - 4001:4001 - - 5001/tcp - - 8080/tcp + network_mode: host restart: always ulimits: nofile: @@ -71,7 +66,6 @@ services: volumes: ipfs: - name: ${NODE_COMPOSE_PROJECT_NAME}_ipfs networks: public: diff --git a/stack/node/node.yml b/stack/node/node.yml index f8a2ab7..151f8f2 100644 --- a/stack/node/node.yml +++ b/stack/node/node.yml @@ -8,7 +8,7 @@ services: - DOCKER_BUILD_DIR=docker/consul context: ../.. dockerfile: docker/consul/Dockerfile - container_name: ${NODE_COMPOSE_PROJECT_NAME}_consul + container_name: ${NODE_COMPOSE_PROJECT_NAME}-consul image: ${NODE_DOCKER_REPOSITORY}/consul:${DOCKER_IMAGE_TAG} environment: CONSUL_BIND_INTERFACE: '${DOCKER_HOST_IFACE}' @@ -40,7 +40,7 @@ services: restart: always volumes: - consul:/consul/data:delegated - - ssl-certs:/certs:ro + - myos:/certs:ro - /var/run/docker.sock:/var/run/docker.sock fabio: build: @@ -51,7 +51,7 @@ services: - PROCESSOR_ARCHITECTURE=${PROCESSOR_ARCHITECTURE} context: ../.. dockerfile: docker/fabio/Dockerfile - container_name: ${NODE_COMPOSE_PROJECT_NAME}_fabio + container_name: ${NODE_COMPOSE_PROJECT_NAME}-fabio image: ${NODE_DOCKER_REPOSITORY}/fabio:${DOCKER_IMAGE_TAG} command: -registry.backend "consul" -registry.consul.addr "consul:8500" -registry.consul.token "${NODE_CONSUL_HTTP_TOKEN}" -proxy.addr ":80,:443;cs=local" -proxy.cs "cs=local;type=file;cert=/certs/${DOMAIN}.crt.pem;key=/certs/${DOMAIN}.key.pem" depends_on: @@ -76,7 +76,7 @@ services: - public restart: always volumes: - - ssl-certs:/certs:ro + - myos:/certs:ro registrator: build: args: @@ -85,7 +85,7 @@ services: - GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL} context: ../.. dockerfile: docker/registrator/Dockerfile - container_name: ${NODE_COMPOSE_PROJECT_NAME}_registrator + container_name: ${NODE_COMPOSE_PROJECT_NAME}-registrator image: ${NODE_DOCKER_REPOSITORY}/registrator:${DOCKER_IMAGE_TAG} command: -internal -cleanup -deregister always -resync=30 -useIpFromNetwork "${DOCKER_NETWORK_PUBLIC}" -useIpFromLabel SERVICE_ADDRESS consul://consul:8500 depends_on: @@ -102,10 +102,9 @@ services: volumes: consul: - name: ${NODE_COMPOSE_PROJECT_NAME}_consul - ssl-certs: + myos: external: true - name: ${NODE_COMPOSE_PROJECT_NAME}_ssl-certs + name: ${NODE_DOCKER_VOLUME} networks: public: diff --git a/stack/node/pdns/pdns-recursor.yml b/stack/node/pdns/pdns-recursor.yml index 4dd7de9..1e670a3 100644 --- a/stack/node/pdns/pdns-recursor.yml +++ b/stack/node/pdns/pdns-recursor.yml @@ -8,7 +8,7 @@ services: context: ../.. dockerfile: docker/pdns-server/Dockerfile command: /usr/local/sbin/pdns_recursor --local-address='192.168.0.1:53' --allow-from='127.0.0.0/8, 192.168.1.0/24, 172.16.0.0/12' - container_name: ${NODE_COMPOSE_PROJECT_NAME}_pdns-recursor + container_name: ${NODE_COMPOSE_PROJECT_NAME}-pdns-recursor hostname: ${HOSTNAME} image: ${NODE_DOCKER_REPOSITORY}/pdns-recursor:${DOCKER_IMAGE_TAG} network_mode: host diff --git a/stack/node/portainer/portainer.yml b/stack/node/portainer/portainer.yml index 8bc763b..8aafdf4 100644 --- a/stack/node/portainer/portainer.yml +++ b/stack/node/portainer/portainer.yml @@ -2,6 +2,7 @@ version: '3.6' services: portainer: + container_name: ${NODE_COMPOSE_PROJECT_NAME}-portainer image: portainer/portainer:latest labels: - SERVICE_8000_IGNORE=true @@ -20,7 +21,6 @@ services: volumes: portainer: - name: ${NODE_COMPOSE_PROJECT_NAME}_portainer networks: public: diff --git a/stack/node/vsftpd/vsftpd-s3.yml b/stack/node/vsftpd/vsftpd-s3.yml index 5e83c46..2a14461 100644 --- a/stack/node/vsftpd/vsftpd-s3.yml +++ b/stack/node/vsftpd/vsftpd-s3.yml @@ -9,7 +9,7 @@ services: dockerfile: docker/vsftpd-s3/Dockerfile cap_add: - sys_admin - container_name: ${NODE_COMPOSE_PROJECT_NAME}_vsftpd-s3 + container_name: ${NODE_COMPOSE_PROJECT_NAME}-vsftpd-s3 devices: - /dev/fuse environment: diff --git a/stack/theia/theia.yml b/stack/theia/theia.yml index 7eabdb8..22ffb7c 100644 --- a/stack/theia/theia.yml +++ b/stack/theia/theia.yml @@ -32,7 +32,7 @@ services: restart: always volumes: - monorepo:/Sources:cached - - ssh-agent:/tmp/ssh-agent:ro + - myos:/tmp/ssh-agent:ro - /var/run/docker.sock:/var/run/docker.sock volumes: @@ -42,9 +42,10 @@ volumes: type: none device: ${MONOREPO_DIR} o: bind - ssh-agent: - external: - name: ${DOCKER_VOLUME} + name: ${USER_COMPOSE_PROJECT_NAME} + myos: + external: true + name: ${USER_DOCKER_VOLUME} networks: private: diff --git a/stack/x2go/xfce_debian.yml b/stack/x2go/xfce_debian.yml index fdf9d7f..3e1b90a 100644 --- a/stack/x2go/xfce_debian.yml +++ b/stack/x2go/xfce_debian.yml @@ -27,19 +27,19 @@ services: - seccomp=unconfined # ecryptfs tty: true volumes: - - home:/home:delegated - - shared:/shared:cached - - shm:/dev/shm:delegated + - vdi-home:/home:delegated + - vdi-shared:/shared:cached + - vdi-shm:/dev/shm:delegated volumes: - home: - shared: + vdi-home: + vdi-shared: driver: local driver_opts: type: none device: /mnt/shared o: bind - shm: + vdi-shm: driver: local driver_opts: type: tmpfs diff --git a/stack/zen/zen.yml b/stack/zen/zen.yml index e6e1ae1..a08ebc0 100644 --- a/stack/zen/zen.yml +++ b/stack/zen/zen.yml @@ -8,7 +8,7 @@ services: - GID=${GID} - GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME} - GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL} - - IPFS_VERSION=0.13.0 + - IPFS_VERSION=${IPFS_VERSION} - UID=${UID} - USER=${USER} context: ../.. @@ -27,18 +27,17 @@ services: volumes: - astroport:${HOME}/astroport:cached - ipfs:${HOME}/.ipfs:cached,ro + - myos:/tmp/ssh-agent:ro - zen:${HOME}/.zen:delegated - - ssh-agent:/tmp/ssh-agent:ro working_dir: ${HOME}/.zen volumes: astroport: ipfs: external: true - name: ${COMPOSE_PROJECT_NAME}_ipfs - ssh-agent: + myos: external: true - name: ${DOCKER_VOLUME} + name: ${USER_DOCKER_VOLUME} zen: driver: local driver_opts: