make user

This commit is contained in:
Yann Autissier
2022-11-25 05:00:37 +00:00
parent 9697288134
commit c6a5e9cb00
22 changed files with 254 additions and 154 deletions
+6 -5
View File
@@ -1,9 +1,8 @@
CMDARGS += user-exec user-exec:% user-exec@% user-run user-run:% user-run@%
User ?= User/User
# target bootstrap-stack-User: Fire docker-network-create
.PHONY: bootstrap-stack-User
bootstrap-stack-User:
ENV_VARS += USER_DOMAIN user_domain
USER_DOMAIN ?= $(USER).$(DOMAIN)
User ?= $(patsubst stack/%,%,$(patsubst %.yml,%,$(wildcard stack/User/*.yml)))
user_domain ?= $(user).$(domain)
# target start-stack-User: Fire ssh-add
.PHONY: start-stack-User
@@ -11,8 +10,10 @@ start-stack-User: ssh-add
# target user: Fire start-stack-User if DOCKER_RUN or fire start-stack-User
.PHONY: User user
User user: STACK := User
User user: $(if $(DOCKER_RUN),stack-User-up,start-stack-User)
# target User-% user-%; Fire target stack-User-%
.PHONY: User-% user-%
User-% user-%: STACK := User
User-% user-%: stack-User-%;
+6 -6
View File
@@ -34,23 +34,23 @@ services:
user: ${UID}:${GID}
volumes:
- ${HOME}:${HOME}:cached
- monorepo:${MONOREPO_DIR}:cached
- myos:/tmp/ssh-agent
- sources:${MONOREPO_DIR}:cached
- user:/tmp/ssh-agent
working_dir: ${MONOREPO_DIR}
volumes:
monorepo:
sources:
driver: local
driver_opts:
type: none
device: ${MONOREPO_DIR}
o: bind
name: ${USER_COMPOSE_PROJECT_NAME}
myos:
name: ${USER}_sources
user:
external: true
name: ${USER_DOCKER_VOLUME}
networks:
private:
external: true
name: ${DOCKER_NETWORK_PRIVATE}
name: ${DOCKER_NETWORK}
+4
View File
@@ -0,0 +1,4 @@
ENV_VARS += USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN USER_IPFS_SERVICE_5001_TAGS USER_IPFS_SERVICE_8080_TAGS
USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(USER_DOMAIN)", "http://ipfs.localhost:8080"]
USER_IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(USER_DOMAIN)/user/$(user_domain)/api
USER_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(USER_DOMAIN)/user/$(user_domain),urlprefix-*.ipfs.$(USER_DOMAIN)/user/$(user_domain),urlprefix-ipns.$(USER_DOMAIN)/user/$(user_domain),urlprefix-*.ipns.$(USER_DOMAIN)/user/$(user_domain)
+100
View File
@@ -0,0 +1,100 @@
version: '3.6'
services:
ipfs:
build:
args:
- DOCKER_BUILD_DIR=docker/ipfs
- GID=${GID}
- IPFS_VERSION=${IPFS_VERSION}
- UID=${UID}
context: ../..
dockerfile: docker/ipfs/Dockerfile
command: daemon --agent-version-suffix=${COMPOSE_PROJECT_NAME} ${USER_IPFS_DAEMON_ARGS:---migrate}
container_name: ${COMPOSE_PROJECT_NAME}-ipfs
cpus: 0.5
environment:
- IPFS_ADDRESSES_API=${USER_IPFS_ADDRESSES_API:-}
- IPFS_ADDRESSES_API_DOMAIN=${USER_IPFS_ADDRESSES_API_DOMAIN:-${DOCKER_NETWORK_PUBLIC}}
- IPFS_ADDRESSES_API_INET4=${USER_IPFS_ADDRESSES_API_INET4:-}
- IPFS_ADDRESSES_API_PORT=${USER_IPFS_ADDRESSES_API_PORT:-}
- IPFS_ADDRESSES_GATEWAY=${USER_IPFS_ADDRESSES_GATEWAY:-}
- IPFS_ADDRESSES_GATEWAY_DOMAIN=${USER_IPFS_ADDRESSES_GATEWAY_DOMAIN:-}
- IPFS_ADDRESSES_GATEWAY_INET4=${USER_IPFS_ADDRESSES_GATEWAY_INET4:-0.0.0.0}
- IPFS_ADDRESSES_GATEWAY_PORT=${USER_IPFS_ADDRESSES_GATEWAY_PORT:-}
- IPFS_ADDRESSES_NOANNOUNCE=${USER_IPFS_ADDRESSES_NOANNOUNCE:-}
- IPFS_API_HTTPHEADERS=${USER_IPFS_API_HTTPHEADERS:-}
- IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=${USER_IPFS_API_HTTPHEADERS_ACA_CREDENTIALS:-["true"]}
- IPFS_API_HTTPHEADERS_ACA_HEADERS=${USER_IPFS_API_HTTPHEADERS_ACA_HEADERS:-["X-Requested-With", "Range", "User-Agent"]}
- IPFS_API_HTTPHEADERS_ACA_METHODS=${USER_IPFS_API_HTTPHEADERS_ACA_METHODS:-["OPTIONS", "POST"]}
- IPFS_API_HTTPHEADERS_ACA_ORIGIN=${USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN:-}
- IPFS_BOOTSTRAP=${USER_IPFS_BOOTSTRAP:-}
- IPFS_DATASTORE_GCPERIOD=${USER_IPFS_DATASTORE_GCPERIOD:-}
- IPFS_DISK_USAGE_PERCENT=${USER_IPFS_DISK_USAGE_PERCENT:-}
- IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT=${USER_IPFS_EXPERIMENTAL_ACCELERATEDDHTCLIENT:-}
- IPFS_EXPERIMENTAL_FILESTOREENABLED=${USER_IPFS_EXPERIMENTAL_FILESTOREENABLED:-}
- IPFS_EXPERIMENTAL_GRAPHSYNCENABLED=${USER_IPFS_EXPERIMENTAL_GRAPHSYNCENABLED:-}
- IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${USER_IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING:-}
- IPFS_EXPERIMENTAL_P2PHTTPPROXY=${USER_IPFS_EXPERIMENTAL_P2PHTTPPROXY:-}
- IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${USER_IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-}
- IPFS_EXPERIMENTAL_URLSTOREENABLED=${USER_IPFS_EXPERIMENTAL_URLSTOREENABLED:-}
- IPFS_IDENTITY_PEERID=${USER_IPFS_IDENTITY_PEERID:-}
- IPFS_IDENTITY_PRIVKEY=${USER_IPFS_IDENTITY_PRIVKEY:-}
- IPFS_IPNS_REPUBLISHPERIOD=${USER_IPFS_IPNS_REPUBLISHPERIOD:-}
- IPFS_IPNS_RECORDLIFETIME=${USER_IPFS_IPNS_RECORDLIFETIME:-}
- IPFS_IPNS_USEPUBSUB=${USER_IPFS_IPNS_USEPUBSUB:-true}
- IPFS_LOGGING=${USER_IPFS_LOGGING:-error}
- IPFS_NETWORK=${USER_IPFS_NETWORK:-private}
- IPFS_PROFILE=${USER_IPFS_PROFILE:-${IPFS_PROFILE}}
- IPFS_PUBSUB_ENABLE=${USER_IPFS_PUBSUB_ENABLE:-true}
- IPFS_PUBSUB_ROUTER=${USER_IPFS_PUBSUB_ROUTER:-gossipsub}
- IPFS_ROUTING_TYPE=${USER_IPFS_ROUTING_TYPE:-dht}
- IPFS_REPROVIDER_INTERVAL=${USER_IPFS_REPROVIDER_INTERVAL:-}
- IPFS_REPROVIDER_STRATEGY=${USER_IPFS_REPROVIDER_STRATEGY:-}
- IPFS_SWARM_CONNMGR_HIGHWATER=${USER_IPFS_SWARM_CONNMGR_HIGHWATER:-}
- IPFS_SWARM_CONNMGR_LOWWATER=${USER_IPFS_SWARM_CONNMGR_LOWWATER:-}
- IPFS_SWARM_CONNMGR_TYPE=${USER_IPFS_SWARM_CONNMGR_TYPE:-}
- IPFS_SWARM_DISABLENATPORTMAP=${USER_IPFS_SWARM_DISABLENATPORTMAP:-}
- IPFS_SWARM_ENABLEHOLEPUNCHING=${USER_IPFS_SWARM_ENABLEHOLEPUNCHING:-}
- IPFS_SWARM_KEY=${USER_IPFS_SWARM_KEY:-}
- IPFS_SWARM_RELAYCLIENT_ENABLED=${USER_IPFS_SWARM_RELAYCLIENT_ENABLED:-}
- IPFS_SWARM_RELAYSERVICE_ENABLED=${USER_IPFS_SWARM_RELAYSERVICE_ENABLED:-}
- IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${USER_IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-}
image: ${USER_DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG}
labels:
- SERVICE_4001_CHECK_TCP=true
- SERVICE_4001_NAME=${USER_COMPOSE_SERVICE_NAME}-ipfs-4001
- SERVICE_5001_CHECK_HTTP=${USER_IPFS_SERVICE_5001_CHECK_HTTP:-/api/v0/diag/sys}
- SERVICE_5001_CHECK_HTTP_METHOD=${USER_IPFS_SERVICE_5001_CHECK_HTTP_METHOD:-POST}
- SERVICE_5001_NAME=${USER_COMPOSE_SERVICE_NAME}-ipfs-5001
- SERVICE_5001_TAGS=${USER_IPFS_SERVICE_5001_TAGS:-}
- SERVICE_8080_CHECK_HTTP=${USER_IPFS_SERVICE_8080_CHECK_HTTP:-/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn}
- SERVICE_8080_NAME=${USER_COMPOSE_SERVICE_NAME}-ipfs-8080
- SERVICE_8080_TAGS=${USER_IPFS_SERVICE_8080_TAGS:-}
- SERVICE_8081_IGNORE=true
networks:
- private
- public
ports:
- 4001/tcp
- 4001/udp
- 5001/tcp
- 8080/tcp
restart: always
ulimits:
nofile:
soft: 65536
hard: 65536
volumes:
- ipfs:/data/ipfs:delegated
volumes:
ipfs:
networks:
private:
external: true
name: ${DOCKER_NETWORK}
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}
+1 -1
View File
@@ -8,4 +8,4 @@ elastic ?= elastic/curator elastic/elasticsearch elastic
# target elasticsearch-delete-%: delete elasticsearch index %
.PHONY: elasticsearch-delete-%
elasticsearch-delete-%:
docker ps |awk '$$NF ~ /myos_$(ENV)_elasticsearch/' |sed 's/^.*:\([0-9]*\)->9200\/tcp.*$$/\1/' |while read port; do echo -e "DELETE /$* HTTP/1.0\n\n" |nc localhost $$port; done
docker ps |awk '$$NF ~ /$(USER)-myos-$(ENV)-elasticsearch/' |sed 's/^.*:\([0-9]*\)->9200\/tcp.*$$/\1/' |while read port; do echo -e "DELETE /$* HTTP/1.0\n\n" |nc localhost $$port; done
+8 -3
View File
@@ -1,6 +1,11 @@
ENV_VARS += IPFS_DAEMON_ARGS IPFS_PROFILE IPFS_VERSION
IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(MACHINE)),lowpower,server)
IPFS_VERSION ?= 0.16.0
ENV_VARS += IPFS_API_HTTPHEADERS_ACA_ORIGIN IPFS_DAEMON_ARGS IPFS_PROFILE IPFS_SERVICE_5001_TAGS IPFS_SERVICE_8080_TAGS IPFS_VERSION
IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(APP_DOMAIN)","http://ipfs.localhost:8080"]
IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(MACHINE)),lowpower,server)
IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/api
IPFS_SERVICE_8080_CHECK_HTTP ?= /ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn
IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/,urlprefix-*.ipfs.$(APP_DOMAIN),urlprefix-ipns.$(APP_DOMAIN)/,urlprefix-*.ipns.$(APP_DOMAIN)/
IPFS_VERSION ?= 0.16.0
UFW_DOCKER_IPFS ?= 4001/tcp 4001/udp 8080
.PHONY: bootstrap-stack-ipfs
bootstrap-stack-ipfs: ~/.ipfs setup-sysctl
-17
View File
@@ -1,17 +0,0 @@
IPFS_ADDRESSES_API_DOMAIN=${DOCKER_NETWORK_PUBLIC}
IPFS_ADDRESSES_GATEWAY_INET4=0.0.0.0
IPFS_DAEMON_ARGS=--migrate
IPFS_IPNS_USEPUBSUB=true
IPFS_LOGGING=warning
IPFS_NETWORK=private
IPFS_PUBSUB_ENABLE=true
IPFS_PUBSUB_ROUTER=gossipsub
IPFS_ROUTING_TYPE=dht
IPFS_SERVICE_5001_CHECK_HTTP=/api/v0/diag/sys
IPFS_SERVICE_5001_TAGS=urlprefix-ipfs.${APP_DOMAIN}/api
IPFS_SERVICE_8080_CHECK_HTTP=/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn
IPFS_SERVICE_8080_TAGS=urlprefix-ipfs.${APP_DOMAIN}/,urlprefix-*.ipfs.${APP_DOMAIN}/,urlprefix-ipns.${APP_DOMAIN}/,urlprefix-*.ipns.${APP_DOMAIN}/
IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=["true"]
IPFS_API_HTTPHEADERS_ACA_HEADERS=["X-Requested-With", "Range", "User-Agent"]
IPFS_API_HTTPHEADERS_ACA_METHODS=["OPTIONS", "POST"]
IPFS_API_HTTPHEADERS_ACA_ORIGIN=["http://ipfs.${APP_DOMAIN}"]
+20 -18
View File
@@ -9,22 +9,22 @@ services:
- UID=${UID}
context: ../..
dockerfile: docker/ipfs/Dockerfile
command: daemon --agent-version-suffix=${COMPOSE_PROJECT_NAME} ${IPFS_DAEMON_ARGS}
command: daemon --agent-version-suffix=${COMPOSE_PROJECT_NAME} ${IPFS_DAEMON_ARGS:---migrate}
cpus: 0.5
environment:
- IPFS_ADDRESSES_API=${IPFS_ADDRESSES_API:-}
- IPFS_ADDRESSES_API_DOMAIN=${IPFS_ADDRESSES_API_DOMAIN:-}
- IPFS_ADDRESSES_API_DOMAIN=${IPFS_ADDRESSES_API_DOMAIN:-${DOCKER_NETWORK_PRIVATE}}
- 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_INET4=${IPFS_ADDRESSES_GATEWAY_INET4:-0.0.0.0}
- IPFS_ADDRESSES_GATEWAY_PORT=${IPFS_ADDRESSES_GATEWAY_PORT:-}
- IPFS_ADDRESSES_NOANNOUNCE=${IPFS_ADDRESSES_NOANNOUNCE:-}
- 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_CREDENTIALS=${IPFS_API_HTTPHEADERS_ACA_CREDENTIALS:-["true"]}
- IPFS_API_HTTPHEADERS_ACA_HEADERS=${IPFS_API_HTTPHEADERS_ACA_HEADERS:-["X-Requested-With", "Range", "User-Agent"]}
- IPFS_API_HTTPHEADERS_ACA_METHODS=${IPFS_API_HTTPHEADERS_ACA_METHODS:-["OPTIONS", "POST"]}
- IPFS_API_HTTPHEADERS_ACA_ORIGIN=${IPFS_API_HTTPHEADERS_ACA_ORIGIN:-}
- IPFS_BOOTSTRAP=${IPFS_BOOTSTRAP:-}
- IPFS_DATASTORE_GCPERIOD=${IPFS_DATASTORE_GCPERIOD:-}
@@ -36,15 +36,17 @@ services:
- IPFS_EXPERIMENTAL_P2PHTTPPROXY=${IPFS_EXPERIMENTAL_P2PHTTPPROXY:-}
- IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-}
- IPFS_EXPERIMENTAL_URLSTOREENABLED=${IPFS_EXPERIMENTAL_URLSTOREENABLED:-}
- IPFS_IDENTITY_PEERID=${IPFS_IDENTITY_PEERID:-}
- IPFS_IDENTITY_PRIVKEY=${IPFS_IDENTITY_PRIVKEY:-}
- IPFS_IPNS_REPUBLISHPERIOD=${IPFS_IPNS_REPUBLISHPERIOD:-}
- IPFS_IPNS_RECORDLIFETIME=${IPFS_IPNS_RECORDLIFETIME:-}
- IPFS_IPNS_USEPUBSUB=${IPFS_IPNS_USEPUBSUB:-}
- IPFS_LOGGING=${IPFS_LOGGING:-}
- IPFS_NETWORK=${IPFS_NETWORK:-}
- IPFS_IPNS_USEPUBSUB=${IPFS_IPNS_USEPUBSUB:-true}
- IPFS_LOGGING=${IPFS_LOGGING:-error}
- IPFS_NETWORK=${IPFS_NETWORK:-private}
- IPFS_PROFILE=${IPFS_PROFILE:-}
- IPFS_PUBSUB_ENABLE=${IPFS_PUBSUB_ENABLE:-}
- IPFS_PUBSUB_ROUTER=${IPFS_PUBSUB_ROUTER:-}
- IPFS_ROUTING_TYPE=${IPFS_ROUTING_TYPE:-}
- IPFS_PUBSUB_ENABLE=${IPFS_PUBSUB_ENABLE:-true}
- IPFS_PUBSUB_ROUTER=${IPFS_PUBSUB_ROUTER:-gossipsub}
- IPFS_ROUTING_TYPE=${IPFS_ROUTING_TYPE:-dht}
- IPFS_REPROVIDER_INTERVAL=${IPFS_REPROVIDER_INTERVAL:-}
- IPFS_REPROVIDER_STRATEGY=${IPFS_REPROVIDER_STRATEGY:-}
- IPFS_SWARM_CONNMGR_HIGHWATER=${IPFS_SWARM_CONNMGR_HIGHWATER:-}
@@ -52,6 +54,7 @@ services:
- IPFS_SWARM_CONNMGR_TYPE=${IPFS_SWARM_CONNMGR_TYPE:-}
- IPFS_SWARM_DISABLENATPORTMAP=${IPFS_SWARM_DISABLENATPORTMAP:-}
- IPFS_SWARM_ENABLEHOLEPUNCHING=${IPFS_SWARM_ENABLEHOLEPUNCHING:-}
- IPFS_SWARM_KEY=${IPFS_SWARM_KEY:-}
- IPFS_SWARM_RELAYCLIENT_ENABLED=${IPFS_SWARM_RELAYCLIENT_ENABLED:-}
- IPFS_SWARM_RELAYSERVICE_ENABLED=${IPFS_SWARM_RELAYSERVICE_ENABLED:-}
- IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-}
@@ -59,17 +62,16 @@ services:
labels:
- SERVICE_4001_CHECK_TCP=true
- SERVICE_4001_NAME=${COMPOSE_SERVICE_NAME}-ipfs-4001
- SERVICE_5001_CHECK_HTTP=${IPFS_SERVICE_5001_CHECK_HTTP}
- SERVICE_5001_CHECK_HTTP_METHOD=POST
- SERVICE_5001_CHECK_HTTP=${IPFS_SERVICE_5001_CHECK_HTTP:-/api/v0/diag/sys}
- SERVICE_5001_CHECK_HTTP_METHOD=${IPFS_SERVICE_5001_CHECK_HTTP_METHOD:-POST}
- SERVICE_5001_NAME=${COMPOSE_SERVICE_NAME}-ipfs-5001
- SERVICE_5001_TAGS=${IPFS_SERVICE_5001_TAGS}
- SERVICE_8080_CHECK_HTTP=${IPFS_SERVICE_8080_CHECK_HTTP}
- SERVICE_5001_TAGS=${IPFS_SERVICE_5001_TAGS:-}
- SERVICE_8080_CHECK_HTTP=${IPFS_SERVICE_8080_CHECK_HTTP:-/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn}
- SERVICE_8080_NAME=${COMPOSE_SERVICE_NAME}-ipfs-8080
- SERVICE_8080_TAGS=${IPFS_SERVICE_8080_TAGS}
- SERVICE_8080_TAGS=${IPFS_SERVICE_8080_TAGS:-}
- SERVICE_8081_IGNORE=true
networks:
- private
- public
ports:
- 4001/tcp
- 4001/udp
+2 -2
View File
@@ -13,10 +13,10 @@ services:
network_mode: host
restart: always
volumes:
- myos:/etc/letsencrypt
- node:/etc/letsencrypt
volumes:
myos:
node:
external: true
name: ${NODE_DOCKER_VOLUME}
+2 -2
View File
@@ -35,10 +35,10 @@ services:
- public
restart: always
volumes:
- myos:/etc/letsencrypt:ro
- node:/etc/letsencrypt:ro
volumes:
myos:
node:
external: true
name: ${NODE_DOCKER_VOLUME}
+4
View File
@@ -0,0 +1,4 @@
ENV_VARS += NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN NODE_IPFS_SERVICE_5001_TAGS NODE_IPFS_SERVICE_8080_TAGS
NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(DOMAIN)"]
NODE_IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(DOMAIN)/api
NODE_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(DOMAIN)/,urlprefix-*.ipfs.$(DOMAIN),urlprefix-ipns.$(DOMAIN)/,urlprefix-*.ipns.$(DOMAIN)/
@@ -10,23 +10,23 @@ services:
- UID=${NODE_UID}
context: ../..
dockerfile: docker/ipfs/Dockerfile
command: daemon --agent-version-suffix=${NODE_COMPOSE_PROJECT_NAME} ${NODE_IPFS_DAEMON_ARGS}
command: daemon --agent-version-suffix=${NODE_COMPOSE_PROJECT_NAME} ${NODE_IPFS_DAEMON_ARGS:---migrate}
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_DOMAIN=${NODE_IPFS_ADDRESSES_API_DOMAIN:-${DOCKER_NETWORK_PUBLIC}}
- 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_INET4=${NODE_IPFS_ADDRESSES_GATEWAY_INET4:-0.0.0.0}
- IPFS_ADDRESSES_GATEWAY_PORT=${NODE_IPFS_ADDRESSES_GATEWAY_PORT:-}
- IPFS_ADDRESSES_NOANNOUNCE=${NODE_IPFS_ADDRESSES_NOANNOUNCE:-}
- 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_CREDENTIALS=${NODE_IPFS_API_HTTPHEADERS_ACA_CREDENTIALS:-["true"]}
- IPFS_API_HTTPHEADERS_ACA_HEADERS=${NODE_IPFS_API_HTTPHEADERS_ACA_HEADERS:-["X-Requested-With", "Range", "User-Agent"]}
- IPFS_API_HTTPHEADERS_ACA_METHODS=${NODE_IPFS_API_HTTPHEADERS_ACA_METHODS:-["OPTIONS", "POST"]}
- IPFS_API_HTTPHEADERS_ACA_ORIGIN=${NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN:-}
- IPFS_BOOTSTRAP=${NODE_IPFS_BOOTSTRAP:-}
- IPFS_DATASTORE_GCPERIOD=${NODE_IPFS_DATASTORE_GCPERIOD:-}
@@ -38,15 +38,17 @@ services:
- IPFS_EXPERIMENTAL_P2PHTTPPROXY=${NODE_IPFS_EXPERIMENTAL_P2PHTTPPROXY:-}
- IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${NODE_IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-}
- IPFS_EXPERIMENTAL_URLSTOREENABLED=${NODE_IPFS_EXPERIMENTAL_URLSTOREENABLED:-}
- IPFS_IDENTITY_PEERID=${NODE_IPFS_IDENTITY_PEERID:-}
- IPFS_IDENTITY_PRIVKEY=${NODE_IPFS_IDENTITY_PRIVKEY:-}
- 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_NETWORK=${NODE_IPFS_NETWORK:-}
- IPFS_PROFILE=${NODE_IPFS_PROFILE:-}
- IPFS_PUBSUB_ENABLE=${NODE_IPFS_PUBSUB_ENABLE:-}
- IPFS_PUBSUB_ROUTER=${NODE_IPFS_PUBSUB_ROUTER:-}
- IPFS_ROUTING_TYPE=${NODE_IPFS_ROUTING_TYPE:-}
- IPFS_IPNS_USEPUBSUB=${NODE_IPFS_IPNS_USEPUBSUB:-true}
- IPFS_LOGGING=${NODE_IPFS_LOGGING:-error}
- IPFS_NETWORK=${NODE_IPFS_NETWORK:-public}
- IPFS_PROFILE=${NODE_IPFS_PROFILE:-${IPFS_PROFILE}}
- IPFS_PUBSUB_ENABLE=${NODE_IPFS_PUBSUB_ENABLE:-true}
- IPFS_PUBSUB_ROUTER=${NODE_IPFS_PUBSUB_ROUTER:-gossipsub}
- IPFS_ROUTING_TYPE=${NODE_IPFS_ROUTING_TYPE:-dht}
- IPFS_REPROVIDER_INTERVAL=${NODE_IPFS_REPROVIDER_INTERVAL:-}
- IPFS_REPROVIDER_STRATEGY=${NODE_IPFS_REPROVIDER_STRATEGY:-}
- IPFS_SWARM_CONNMGR_HIGHWATER=${NODE_IPFS_SWARM_CONNMGR_HIGHWATER:-}
@@ -54,6 +56,7 @@ services:
- IPFS_SWARM_CONNMGR_TYPE=${NODE_IPFS_SWARM_CONNMGR_TYPE:-}
- IPFS_SWARM_DISABLENATPORTMAP=${NODE_IPFS_SWARM_DISABLENATPORTMAP:-}
- IPFS_SWARM_ENABLEHOLEPUNCHING=${NODE_IPFS_SWARM_ENABLEHOLEPUNCHING:-}
- IPFS_SWARM_KEY=${NODE_IPFS_SWARM_KEY:-}
- IPFS_SWARM_RELAYCLIENT_ENABLED=${NODE_IPFS_SWARM_RELAYCLIENT_ENABLED:-}
- IPFS_SWARM_RELAYSERVICE_ENABLED=${NODE_IPFS_SWARM_RELAYSERVICE_ENABLED:-}
- IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${NODE_IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-}
@@ -61,13 +64,13 @@ services:
labels:
- SERVICE_4001_CHECK_TCP=true
- SERVICE_4001_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-4001
- SERVICE_5001_CHECK_HTTP=${NODE_IPFS_SERVICE_5001_CHECK_HTTP}
- SERVICE_5001_CHECK_HTTP_METHOD=POST
- SERVICE_5001_CHECK_HTTP=${NODE_IPFS_SERVICE_5001_CHECK_HTTP:-/api/v0/diag/sys}
- SERVICE_5001_CHECK_HTTP_METHOD=${NODE_IPFS_SERVICE_5001_CHECK_HTTP_METHOD:-POST}
- SERVICE_5001_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-5001
- SERVICE_5001_TAGS=${NODE_IPFS_SERVICE_5001_TAGS}
- SERVICE_8080_CHECK_HTTP=${NODE_IPFS_SERVICE_8080_CHECK_HTTP}
- SERVICE_5001_TAGS=${NODE_IPFS_SERVICE_5001_TAGS:-}
- SERVICE_8080_CHECK_HTTP=${NODE_IPFS_SERVICE_8080_CHECK_HTTP:-/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme}
- SERVICE_8080_NAME=${NODE_COMPOSE_SERVICE_NAME}-ipfs-8080
- SERVICE_8080_TAGS=${NODE_IPFS_SERVICE_8080_TAGS}
- SERVICE_8080_TAGS=${NODE_IPFS_SERVICE_8080_TAGS:-}
- SERVICE_8081_IGNORE=true
networks:
- public
-19
View File
@@ -1,19 +0,0 @@
NODE_IPFS_ADDRESSES_API_DOMAIN=${DOCKER_NETWORK_PUBLIC}
NODE_IPFS_ADDRESSES_GATEWAY_INET4=0.0.0.0
NODE_IPFS_DAEMON_ARGS=--migrate
NODE_IPFS_IPNS_USEPUBSUB=true
NODE_IPFS_LOGGING=error
NODE_IPFS_NETWORK=public
NODE_IPFS_PROFILE=${IPFS_PROFILE}
NODE_IPFS_PUBSUB_ENABLE=true
NODE_IPFS_PUBSUB_ROUTER=gossipsub
NODE_IPFS_ROUTING_TYPE=dht
NODE_IPFS_SERVICE_5001_CHECK_HTTP=/api/v0/diag/sys
NODE_IPFS_SERVICE_5001_TAGS=urlprefix-ipfs.${DOMAIN}/api
NODE_IPFS_SERVICE_8080_CHECK_HTTP=/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
NODE_IPFS_SERVICE_8080_TAGS=urlprefix-ipfs.${DOMAIN}/,urlprefix-*.ipfs.${DOMAIN}/,urlprefix-ipns.${DOMAIN}/,urlprefix-*.ipns.${DOMAIN}/
NODE_IPFS_API_HTTPHEADERS_ACA_CREDENTIALS=["true"]
NODE_IPFS_API_HTTPHEADERS_ACA_HEADERS=["X-Requested-With", "Range", "User-Agent"]
NODE_IPFS_API_HTTPHEADERS_ACA_METHODS=["OPTIONS", "POST"]
NODE_IPFS_API_HTTPHEADERS_ACA_ORIGIN=["https://ipfs.${DOMAIN}", "http://ipfs.${DOMAIN}", "http://ipfs.localhost:8080"]
UFW_DOCKER_ipfs=4001/tcp 4001/udp 8080
+2 -2
View File
@@ -145,7 +145,7 @@ services:
- mailserver-data:/var/mail
- mailserver-logs:/var/log/mail
- mailserver-state:/var/mail-state
- myos:/etc/letsencrypt:ro
- node:/etc/letsencrypt:ro
restart: always
stop_grace_period: 1m
volumes:
@@ -153,7 +153,7 @@ volumes:
mailserver-data:
mailserver-logs:
mailserver-state:
myos:
node:
external: true
name: ${NODE_DOCKER_VOLUME}
+4 -4
View File
@@ -31,19 +31,19 @@ services:
- public
restart: always
volumes:
- monorepo:/Sources:cached
- myos:/tmp/ssh-agent:ro
- sources:/Sources:cached
- user:/tmp/ssh-agent:ro
- /var/run/docker.sock:/var/run/docker.sock
volumes:
monorepo:
sources:
driver: local
driver_opts:
type: none
device: ${MONOREPO_DIR}
o: bind
name: ${USER_COMPOSE_PROJECT_NAME}
myos:
user:
external: true
name: ${USER_DOCKER_VOLUME}