version: '3.6' services: ipfs: build: args: - DOCKER_BUILD_DIR=docker/ipfs - IPFS_VERSION=0.13.0 - 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} 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 - SERVICE_8080_TAGS=${IPFS_SERVICE_8080_TAGS} - SERVICE_8081_IGNORE=true networks: - private - public ports: - 4001 - 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 networks: private: external: true name: ${DOCKER_NETWORK_PRIVATE} public: external: true name: ${DOCKER_NETWORK_PUBLIC}