Execute this in the desired installation directory. For example: /opt
bash <(curl -s https://raw.githubusercontent.com/3speaknetwork/cdn-daemon/main/scripts/install.sh)
- Image proxy. Retrieves image from a remote URL or IPFS CID then forwads the data to the user
- Image resizer. Resizes an already existing image to a smaller image and/or different format. Returns the raw image or a cached version on IPFS.
- Provide an
/ipfs/
endpoint which is first forwarded through the CDN middleware then togo-ipfs
- Block illegal or banned files from being served through the CDN endpoint. Ensure files against blocklist are never served or stored. Currently there is no way to prevent IPFS from serving disallowed files.
- Cache DHT queries of tracked files. Maintain a list of "partners" - the peers storing the content most relevant to the daemon. If daemon can tell IPFS to fetch from this list of nodes.
- Provide a DHT query endpoint for remote nodes to query the DHT cache.
- Display profile/cover photos of a user via a simple API
Note: Some of the above goals might not end up in the final version. Instead, they will be implemented in another part of the project.
Download install.sh(Done)./install.sh - installs git, and docker/docker-compose, then clones github repo + initializes cryptographic identity(Done)docker-compose build - installs nginx, ipfs, mongodb, nodejs, letsencrypt then installs nodejs deps + compile build(Done)./init-letsencrypt.sh - initializes let's encrypt certificate(Done)- Installs systemd service
docker-compose up- Fires up systemd service