myos/stack/User/ipfs.yml

105 lines
4.9 KiB
YAML

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_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}
- 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:-}
- LETSENCRYPT_HOST=${USER_IPFS_LETSENCRYPT_HOST}
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:
- host:/home:delegated
volumes:
host:
external: true
name: ${HOST_DOCKER_VOLUME}_home
networks:
private:
external: true
name: ${DOCKER_NETWORK}
public:
external: true
name: ${DOCKER_NETWORK_PUBLIC}