user home ipfs

This commit is contained in:
Yann Autissier 2022-12-27 17:22:12 +00:00
parent 94a749e229
commit e89e552227
7 changed files with 22 additions and 12 deletions

View File

@ -3,6 +3,7 @@ FROM ipfs/kubo:v${IPFS_VERSION} as dist
LABEL maintainer aynic.os <support+docker@asycn.io>
ARG DOCKER_BUILD_DIR
RUN sed -i 's!repo="$IPFS_PATH"!repo="$IPFS_PATH" \&\& mkdir -p "$IPFS_PATH" \&\& chown ipfs:users $(dirname "$IPFS_PATH") \&\& chown ipfs:users "$IPFS_PATH"!' /usr/local/bin/start_ipfs
COPY ${DOCKER_BUILD_DIR}/*.sh /container-init.d/
RUN chmod +rx /container-init.d/*.sh

View File

@ -8,7 +8,8 @@ set -e
# set ipfs peer id
[ -n "${IPFS_IDENTITY_PEERID}" ] && [ -n "${IPFS_IDENTITY_PRIVKEY}" ] \
&& sed -i 's/"PeerID":.*/"PeerID": "'"${IPFS_IDENTITY_PEERID}"'",/;s/"PrivKey":.*/"PrivKey": "'"${IPFS_IDENTITY_PRIVKEY}"'"/' "${IPFS_PATH}/config"
&& sed -i 's/"PeerID":.*/"PeerID": "'"${IPFS_IDENTITY_PEERID}"'",/;s/"PrivKey":.*/"PrivKey": "'"${IPFS_IDENTITY_PRIVKEY}"'"/' "${IPFS_PATH}/config" \
|| true
## ipfs client needs API address
# search for ip address of $(hostname).${IPFS_ADDRESSES_API_DOMAIN}

View File

@ -230,6 +230,7 @@ up: docker-compose-up ufw-update app-start ## Create application dockers
# on local host
.PHONY: update app-update
update: update-app app-update ## Update application files
git pull
# target upgrade app-upgrade: Upgrade application
# on local host

View File

@ -179,7 +179,7 @@ RESU = $(strip \
$(eval niamod := $(subst $(space),.,$(strip $(call reverse,$(subst ., ,$(domain)))))) \
$(eval resu := $(subst $(space),.,$(strip $(call reverse,$(subst ., ,$(user)))))) \
$(eval resu.niamod := $(niamod).$(resu)) \
$(eval resu.path := $(subst .,/,$(resu_niamod))) \
$(eval resu.path := $(subst .,/,$(resu.niamod))) \
$(eval user.domain := $(user).$(domain)) \
$(user.domain) \
, $(USER) \

View File

@ -1,18 +1,22 @@
ENV_VARS += USER_DOMAIN USER_HOST user_domain
MAKECMDARGS += user-exec user-exec:% user-exec@% user-run user-run:% user-run@%
USER_DOMAIN ?= $(patsubst %,$(USER).%,$(DOMAIN))
USER_HOME ?= $(shell cd ~ && pwd -P)
USER_HOST ?= $(patsubst %,$(USER).%,$(HOST))$(USER_HOST_LB)
USER_HOST_RESU ?= $(patsubst %,$(RESU).%,$(USER_HOST))
USER_HOST_LB ?= $(if $(USER_LB),$(space)$(HOST)$(if $(HOST_LB),$(space)$(DOMAIN)),$(if $(HOST_LB),$(space)$(USER_DOMAIN)))
USER_PATH ?= $(USER_PATH_PREFIX)
USER_PATH_RESU ?= $(USER_PATH)$(RESU)/
USER_URIS ?= $(patsubst %,%/$(USER_PATH),$(USER_HOST))
ifneq ($(RESU),)
ifeq ($(USER_RESU_HOST),true)
USER_HOST := $(USER_HOST_RESU)
else ifeq ($(USER_RESU_PATH),true)
USER_PATH := $(USER_PATH_RESU)
ifeq ($(RESU_HOME),mail)
USER_HOME := /home/$(mail)
else ifeq ($(RESU_HOME),dns)
USER_HOME := /dns/$(resu.path)
endif
ifeq ($(RESU_HOST),true)
USER_HOST := $(patsubst %,$(RESU).%,$(USER_HOST))
else ifeq ($(RESU_PATH),true)
USER_PATH := $(USER_PATH)$(RESU)/
endif
endif

View File

@ -1,6 +1,7 @@
ENV_VARS += USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN USER_IPFS_LETSENCRYPT_HOST USER_IPFS_SERVICE_5001_TAGS USER_IPFS_SERVICE_8080_TAGS
ENV_VARS += USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN USER_IPFS_LETSENCRYPT_HOST USER_IPFS_PATH USER_IPFS_SERVICE_5001_TAGS USER_IPFS_SERVICE_8080_TAGS
USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(patsubst %/,%,$(USER_IPFS_SERVICE_8080_URIS)))]
USER_IPFS_LETSENCRYPT_HOST ?= $(subst $(space),$(comma),$(call uriprefix,USER_IPFS,,$(USER_HOST)))
USER_IPFS_PATH ?= $(USER_HOME)/.ipfs
USER_IPFS_SERVICE_NAME ?= ipfs
USER_IPFS_SERVICE_5001_PATH ?= api/
USER_IPFS_SERVICE_5001_TAGS ?= $(or $(USER_IPFS_SERVICE_5001_TAGS_LOCALHOST),$(USER_IPFS_SERVICE_5001_TAGS_URIS),$(USER_IPFS_SERVICE_5001_TAGS_PROXY_TCP))

View File

@ -45,6 +45,7 @@ services:
- IPFS_IPNS_USEPUBSUB=${USER_IPFS_IPNS_USEPUBSUB:-true}
- IPFS_LOGGING=${USER_IPFS_LOGGING:-error}
- IPFS_NETWORK=${USER_IPFS_NETWORK:-private}
- IPFS_PATH=${USER_IPFS_PATH:-~/.ipfs}
- IPFS_PROFILE=${USER_IPFS_PROFILE:-${IPFS_PROFILE}}
- IPFS_PUBSUB_ENABLE=${USER_IPFS_PUBSUB_ENABLE:-true}
- IPFS_PUBSUB_ROUTER=${USER_IPFS_PUBSUB_ROUTER:-gossipsub}
@ -87,11 +88,12 @@ services:
soft: 65536
hard: 65536
volumes:
- ipfs:/data/ipfs:delegated
- host:/home:delegated
volumes:
ipfs:
name: ${USER_DOCKER_VOLUME}_ipfs
host:
external: true
name: ${HOST_DOCKER_VOLUME}_home
networks:
private: