version: '3.6' services: ipfs: build: args: - DOCKER_BUILD_DIR=docker/ipfs - IPFS_VERSION=${IPFS_VERSION} - UID=${UID} context: ../.. dockerfile: docker/ipfs/Dockerfile command: daemon --agent-version-suffix=${COMPOSE_PROJECT_NAME} ${IPFS_DAEMON_ARGS:---migrate} cpus: 0.5 environment: - DEBUG=${DEBUG:-} - IPFS_ADDRESSES_ANNOUNCE=${IPFS_ADDRESSES_ANNOUNCE:-} - IPFS_ADDRESSES_API=${IPFS_ADDRESSES_API:-} - 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_APPENDANNOUNCE=${IPFS_ADDRESSES_APPENDANNOUNCE:-} - IPFS_ADDRESSES_GATEWAY=${IPFS_ADDRESSES_GATEWAY:-} - IPFS_ADDRESSES_GATEWAY_DOMAIN=${IPFS_ADDRESSES_GATEWAY_DOMAIN:-} - 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_ADDRESSES_SWARM=${IPFS_ADDRESSES_SWARM:-} - IPFS_API_HTTPHEADERS=${IPFS_API_HTTPHEADERS:-} - 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_AUTONAT=${IPFS_AUTONAT:-} - IPFS_AUTONAT_SERVICEMODE=${IPFS_AUTONAT_SERVICEMODE:-} - IPFS_AUTONAT_THROTTLE=${IPFS_AUTONAT_THROTTLE:-} - IPFS_AUTONAT_THROTTLE_GLOBALLIMIT=${IPFS_AUTONAT_THROTTLE_GLOBALLIMIT:-} - IPFS_AUTONAT_THROTTLE_PEERLIMIT=${IPFS_AUTONAT_THROTTLE_PEERLIMIT:-} - IPFS_AUTONAT_THROTTLE_INTERVAL=${IPFS_AUTONAT_THROTTLE_INTERVAL:-} - IPFS_AUTOTLS=${IPFS_AUTOTLS:-} - IPFS_AUTOTLS_ENABLED=${IPFS_AUTOTLS_ENABLED:-false} - IPFS_AUTOTLS_DOMAINSUFFIX=${IPFS_AUTOTLS_DOMAINSUFFIX:-} - IPFS_AUTOTLS_REGISTRATIONENDPOINT=${IPFS_AUTOTLS_REGISTRATIONENDPOINT:-} - IPFS_AUTOTLS_REGISTRATIONTOKEN=${IPFS_AUTOTLS_REGISTRATIONTOKEN:-} - IPFS_AUTOTLS_CAENDPOINT=${IPFS_AUTOTLS_CAENDPOINT:-} - IPFS_BOOTSTRAP=${IPFS_BOOTSTRAP:-} - IPFS_DATASTORE_BLOOMFILTERSIZE=${IPFS_DATASTORE_BLOOMFILTERSIZE:-} - IPFS_DATASTORE_DISKUSAGE=${IPFS_DATASTORE_DISKUSAGE:-50} - IPFS_DATASTORE_GCPERIOD=${IPFS_DATASTORE_GCPERIOD:-1h} - IPFS_DATASTORE_HASHONREAD=${IPFS_DATASTORE_HASHONREAD:-false} - IPFS_DATASTORE_SPEC=${IPFS_DATASTORE_SPEC:-} - IPFS_DATASTORE_STORAGEGCWATERMARK=${IPFS_DATASTORE_STORAGEGCWATERMARK:-} - IPFS_DISCOVERY_MDNS_ENABLED=${IPFS_DISCOVERY_MDNS_ENABLED:-true} - IPFS_DNS_RESOLVERS=${IPFS_DNS_RESOLVERS:-} - IPFS_DNS_MAXCACHETTL=${IPFS_DNS_MAXCACHETTL:-} - IPFS_DOCKER_NETWORK=${IPFS_DOCKER_NETWORK:-172.16.0.0} - IPFS_EXPERIMENTAL_FILESTOREENABLED=${IPFS_EXPERIMENTAL_FILESTOREENABLED:-} - IPFS_EXPERIMENTAL_GATEWAYOVERLIBP2P=${IPFS_EXPERIMENTAL_GATEWAYOVERLIBP2P:-true} - IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING=${IPFS_EXPERIMENTAL_LIBP2PSTREAMMOUNTING:-true} - IPFS_EXPERIMENTAL_OPTIMISTICPROVIDE=${IPFS_EXPERIMENTAL_OPTIMISTICPROVIDE:-} - IPFS_EXPERIMENTAL_P2PHTTPPROXY=${IPFS_EXPERIMENTAL_P2PHTTPPROXY:-true} - IPFS_EXPERIMENTAL_STRATEGICPROVIDING=${IPFS_EXPERIMENTAL_STRATEGICPROVIDING:-} - IPFS_EXPERIMENTAL_URLSTORE=${IPFS_EXPERIMENTAL_URLSTORE:-} - IPFS_EXPERIMENTAL_URLSTOREENABLED=${IPFS_EXPERIMENTAL_URLSTOREENABLED:-} - IPFS_GATEWAY_DESERIALIZEDRESPONSES=${IPFS_GATEWAY_DESERIALIZEDRESPONSES:-true} - IPFS_GATEWAY_DISABLEHTMLERRORS=${IPFS_GATEWAY_DISABLEHTMLERRORS:-false} - IPFS_GATEWAY_EXPOSEROUTINGAPI=${IPFS_GATEWAY_EXPOSEROUTINGAPI:-false} - IPFS_GATEWAY_HTTPHEADERS=${IPFS_GATEWAY_HTTPHEADERS:-} - IPFS_GATEWAY_HTTPHEADERS_ACA_CREDENTIALS=${IPFS_GATEWAY_HTTPHEADERS_ACA_CREDENTIALS:-["true"]} - IPFS_GATEWAY_HTTPHEADERS_ACA_HEADERS=${IPFS_GATEWAY_HTTPHEADERS_ACA_HEADERS:-["X-Requested-With", "Range", "User-Agent"]} - IPFS_GATEWAY_HTTPHEADERS_ACA_METHODS=${IPFS_GATEWAY_HTTPHEADERS_ACA_METHODS:-["GET"]} - IPFS_GATEWAY_HTTPHEADERS_ACA_ORIGIN=${IPFS_GATEWAY_HTTPHEADERS_ACA_ORIGIN:-["*"]} - IPFS_GATEWAY_NOFETCH=${IPFS_GATEWAY_NOFETCH:-false} - IPFS_GATEWAY_NODNSLINK=${IPFS_GATEWAY_NODNSLINK:-false} - IPFS_GATEWAY_PUBLICGATEWAYS=${IPFS_GATEWAY_PUBLICGATEWAYS:-} - IPFS_IDENTITY_PEERID=${IPFS_IDENTITY_PEERID:-} - IPFS_IDENTITY_PRIVKEY=${IPFS_IDENTITY_PRIVKEY:-} - IPFS_IPNS_MAXCACHETTL=${IPFS_IPNS_MAXCACHETTL:-} - IPFS_IPNS_REPUBLISHPERIOD=${IPFS_IPNS_REPUBLISHPERIOD:-} - IPFS_IPNS_RECORDLIFETIME=${IPFS_IPNS_RECORDLIFETIME:-} - IPFS_IPNS_RESOLVECACHESIZE=${IPFS_IPNS_RESOLVECACHESIZE:-} - IPFS_IPNS_USEPUBSUB=${IPFS_IPNS_USEPUBSUB:-true} - IPFS_LOGGING=${IPFS_LOGGING:-error} - IPFS_NETWORK=${IPFS_NETWORK:-private} - IPFS_PEERING_PEERS=${IPFS_PEERING_PEERS:-} - IPFS_PINNING_REMOTESERVICES=${IPFS_PINNING_REMOTESERVICES:-} - IPFS_PROFILE=${IPFS_PROFILE:-} - IPFS_REPO_MIGRATE=${IPFS_REPO_MIGRATE:-true} - IPFS_REPROVIDER_INTERVAL=${IPFS_REPROVIDER_INTERVAL:-} - IPFS_REPROVIDER_STRATEGY=${IPFS_REPROVIDER_STRATEGY:-} - IPFS_ROUTING_ACCELERATEDDHTCLIENT=${IPFS_ROUTING_ACCELERATEDDHTCLIENT:-true} - IPFS_ROUTING_LOOPBACKADDRESSESONLANDHT=${IPFS_ROUTING_LOOPBACKADDRESSESONLANDHT:-} - IPFS_ROUTING_METHODS=${IPFS_ROUTING_METHODS:-} - IPFS_ROUTING_ROUTERS=${IPFS_ROUTING_ROUTERS:-} - IPFS_ROUTING_TYPE=${IPFS_ROUTING_TYPE:-"dht"} - IPFS_SWARM_ADDRFILTERS=${IPFS_SWARM_ADDRFILTERS:-} - IPFS_SWARM_CONNMGR_GRACEPERIOD=${IPFS_SWARM_CONNMGR_GRACEPERIOD:-} - IPFS_SWARM_CONNMGR_HIGHWATER=${IPFS_SWARM_CONNMGR_HIGHWATER:-} - IPFS_SWARM_CONNMGR_LOWWATER=${IPFS_SWARM_CONNMGR_LOWWATER:-} - IPFS_SWARM_CONNMGR_TYPE=${IPFS_SWARM_CONNMGR_TYPE:-} - IPFS_SWARM_DISABLENATPORTMAP=${IPFS_SWARM_DISABLENATPORTMAP:-} - IPFS_SWARM_DISABLEBANDWIDTHMETRICS=${IPFS_SWARM_DISABLEBANDWIDTHMETRICS:-} - IPFS_SWARM_ENABLEHOLEPUNCHING=${IPFS_SWARM_ENABLEHOLEPUNCHING:-} - IPFS_SWARM_KEY=${IPFS_SWARM_KEY:-} - IPFS_SWARM_RELAYCLIENT_ENABLED=${IPFS_SWARM_RELAYCLIENT_ENABLED:-} - IPFS_SWARM_RELAYCLIENT_STATICRELAYS=${IPFS_SWARM_RELAYCLIENT_STATICRELAYS:-} - IPFS_SWARM_RELAYSERVICE_CONNECTIONDATALIMIT=${IPFS_SWARM_RELAYSERVICE_CONNECTIONDATALIMIT:-} - IPFS_SWARM_RELAYSERVICE_CONNECTIONDURATIONLIMIT=${IPFS_SWARM_RELAYSERVICE_CONNECTIONDURATIONLIMIT:-} - IPFS_SWARM_RELAYSERVICE_LIMIT=${IPFS_SWARM_RELAYSERVICE_LIMIT:-} - IPFS_SWARM_RELAYSERVICE_MAXCIRCUITS=${IPFS_SWARM_RELAYSERVICE_MAXCIRCUITS:-} - IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONS=${IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONS:-} - IPFS_SWARM_RELAYSERVICE_RESERVATIONTTL=${IPFS_SWARM_RELAYSERVICE_RESERVATIONTTL:-} - IPFS_SWARM_RELAYSERVICE_BUFFERSIZE=${IPFS_SWARM_RELAYSERVICE_BUFFERSIZE:-} - IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONSPERASN=${IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONSPERASN:-} - IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONSPERIP=${IPFS_SWARM_RELAYSERVICE_MAXRESERVATIONSPERIP:-} - IPFS_SWARM_RESOURCEMGR_ALLOWLIST=${IPFS_SWARM_RESOURCEMGR_ALLOWLIST:-} - IPFS_SWARM_RESOURCEMGR_ENABLED=${IPFS_SWARM_RESOURCEMGR_ENABLED:-} - IPFS_SWARM_RESOURCEMGR_MAXFILEDESCRIPTORS=${IPFS_SWARM_RESOURCEMGR_MAXFILEDESCRIPTORS:-} - IPFS_SWARM_RESOURCEMGR_MAXMEMORY=${IPFS_SWARM_RESOURCEMGR_MAXMEMORY:-} - IPFS_SWARM_TRANSPORTS_NETWORK_QUIC=${IPFS_SWARM_TRANSPORTS_NETWORK_QUIC:-} - IPFS_SWARM_TRANSPORTS_NETWORK_RELAY=${IPFS_SWARM_TRANSPORTS_NETWORK_RELAY:-} - IPFS_SWARM_TRANSPORTS_NETWORK_TCP=${IPFS_SWARM_TRANSPORTS_NETWORK_TCP:-} - IPFS_SWARM_TRANSPORTS_NETWORK_WEBRTCDIRECT=${IPFS_SWARM_TRANSPORTS_NETWORK_WEBRTCDIRECT:-} - IPFS_SWARM_TRANSPORTS_NETWORK_WEBSOCKET=${IPFS_SWARM_TRANSPORTS_NETWORK_WEBSOCKET:-} - IPFS_SWARM_TRANSPORTS_NETWORK_WEBTRANSPORT=${IPFS_SWARM_TRANSPORTS_NETWORK_WEBTRANSPORT:-} - IPFS_SWARM_TRANSPORTS_SECURITY_NOISE=${IPFS_SWARM_TRANSPORTS_SECURITY_NOISE:-} - IPFS_SWARM_TRANSPORTS_SECURITY_TLS=${IPFS_SWARM_TRANSPORTS_SECURITY_TLS:-} - IPFS_SWARM_TRANSPORTS_MULTIPLEXERS_YAMUX=${IPFS_SWARM_TRANSPORTS_MULTIPLEXERS_YAMUX:-} image: ${DOCKER_REPOSITORY}/ipfs:${DOCKER_IMAGE_TAG} labels: - SERVICE_4001_CHECK_TCP=true - SERVICE_4001_NAME=${COMPOSE_SERVICE_NAME}-ipfs-4001 - 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:-/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn} - SERVICE_8080_NAME=${COMPOSE_SERVICE_NAME}-ipfs-8080 - SERVICE_8080_TAGS=${IPFS_SERVICE_8080_TAGS:-} - SERVICE_8081_IGNORE=true networks: - private ports: - 4001/tcp - 4001/udp - 5001/tcp - 8080/tcp restart: always ulimits: nofile: soft: 65536 hard: 65536 volumes: - ipfs:/data/ipfs:delegated volumes: ipfs: driver: local driver_opts: type: none device: ${HOME}/.ipfs o: bind