https://github.com/victorb/dweb.cat
Archive and entrypoint for important Catalan culture and language
https://github.com/victorb/dweb.cat
Last synced: 4 months ago
JSON representation
Archive and entrypoint for important Catalan culture and language
- Host: GitHub
- URL: https://github.com/victorb/dweb.cat
- Owner: victorb
- Created: 2017-09-14T17:07:30.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-27T13:16:50.000Z (over 8 years ago)
- Last Synced: 2025-01-02T16:22:52.215Z (over 1 year ago)
- Language: HCL
- Homepage: https://dweb.cat/
- Size: 9.77 KB
- Stars: 2
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## dweb.cat
> Portal for Catalan content on the distributed web
> Archive and entrypoint for Catalan culture and language on the distributed web
# Purpose
The purpose of this repository and the beloning infrastructure is to provide
ability to archive and host content relevant to Catalan culture and language.
Infrastructure costs are paid by a fund from donations. Once these run out, we
can no longer guarantee that the content will be available.
Each submission will be reviewing to make sure it's:
* Actually relevant to Catalan culture and/or language
* Not too big (submitting content of 1TB is too big [depending on current funding])
Anything that passes those two criterias will be provided space and bandwidth
to live on dweb.cat for as long as possible.
See it as the Internet Archive, but specifically for Catalunya and Catalan content.
# Process
Content needs to go through a process of verification, hosting and then publishing.
It works the following way:
- If you already have the content ready, proceed to the next step. If the content
is NOT ready for hosting yet, open a issue before pulling down the data locally
so you don't waste your bandwidth on something that won't be accepted.
- Add the content to IPFS and save the resulting hash. The basics of IPFS can be
read in the file IPFS.md in the root of this repository
- Submit a PR adding your hash and the metadata to `content.json`
- Upon approved, the content will be pushed out to the gateways and applicable
subdomains created in the infrastructure.
# Process for operators
- Once a change is in master, the following commands should be run:
- `./pin-content.sh`
- `./build-website.js`
- `(cd gateways/ && terraform plan -out wanted-change)`
- Confirm changes
- `(cd gateways/ && terraform apply wanted-change)`
# Architecture
Website is a simple HTML website that lists all the content that is available
and some metadata if available.
Content that gets added to `content.json` is hosted by a couple of gateway
nodes that are running under `https://dweb.cat/ipfs/:hash`. These gateways
are also connected to the general IPFS network so can be fetched from anywhere
as well as from dweb.cat
Shortlinks can also be made by adding them to `subdomains.json` which is a
object that lists names to their hashes. The hash linked must exists in `content.json`
if it's listed in `subdomains.json`.
# Deployment
Deployment is handled with Terraform in the `gateways/` directory.
# Website
Steps taken upon deploy of website:
- Build website in `website/`
- Add to IPFS
- If website changed (content.json updated)
- `last-website-publish` will be different from new hash
- Update DNS record for `archive.dweb.cat`
# Replication
All content on `content.json` is replicated to at least four places (please
contact us if you can help replicate it more):
- Gateways running under dweb.cat/ipfs
- Online IPFS node running at Victor Bjelkholm's house
- Offline cache available at Victor's house
- S3 backup hosted by Amazon
# Domains
- dweb.cat
- catalan-gateway.com
# License
2017 MIT - Victor Bjelkholm