good-karma-kit/README.md

162 lines
4 KiB
Markdown
Raw Normal View History

2021-04-14 13:45:15 +08:00
<div align="center">
2021-04-14 13:37:00 +08:00
# The Good Karma Kit
2021-04-13 05:57:14 +08:00
2021-04-14 13:46:35 +08:00
<img src="https://user-images.githubusercontent.com/511499/114660274-03b9dc00-9cc3-11eb-9db2-19ff3817d5f9.png" width="300px"/>
2021-04-14 13:45:15 +08:00
2021-04-14 13:46:25 +08:00
<i><b>A Docker Compose project to run on servers with spare CPU, RAM, and bandwidth to help the world.</b><br/>Contribute your unused computing power to good causes.</i>
2021-04-14 13:45:44 +08:00
2021-04-14 13:45:15 +08:00
</div>
2021-04-14 13:46:25 +08:00
## Quickstart
2021-04-13 05:57:14 +08:00
1. Download [`docker-compose.yml`](https://github.com/pirate/good-karma-kit/blob/main/docker-compose.yml) into an empty directory
2. `mkdir data`
3. `docker-compose up`
4. Finish setting up projects through their respective web dashboards exposed on localhost
You can also comment out any containers you don't want to run in the compose file.
2021-04-14 13:36:22 +08:00
Unless otherwise specified or restricted to 127.0.0.1 in the compose file, all ports should be made available to the public internet.
The nature of most of these containers is that you're contributing resources to the public or to specific causes running on the public internet,
so make sure you understand the risks involved with exposing your machine to WAN. It may be worth running this in an isolated VM on an isolated subnet if it's on your home or corporate network.
## Contents
2021-04-14 13:38:11 +08:00
---
2021-04-14 13:36:22 +08:00
### Autoupdater
#### watchtower
`image: containrrr/watchtower`
Automatically updates & restarts the containers when they have new versions available
https://containrrr.dev/watchtower/
https://github.com/containrrr/watchtower
Notes: requires access to system docker socket, and will autoupdate *all* running containers on the host unless scoped with labels.
2021-04-14 13:38:11 +08:00
---
2021-04-14 13:36:22 +08:00
### Distributed networking projects
#### tor
`image: thetorproject/obfs4-bridge:latest`
https://www.torproject.org/
https://hub.docker.com/r/thetorproject/obfs4-bridge
#### i2p
`image: divax/i2p:i2p-tor`
https://geti2p.net/en/
https://hub.docker.com/r/divax/i2p
2021-04-14 13:38:11 +08:00
---
2021-04-14 13:36:22 +08:00
### Distribued storage projects
#### ipfs
`image: ipfs/go-ipfs:latest`
https://ipfs.io
https://hub.docker.com/r/ipfs/go-ipfs
#### storj
`image: storjlabs/storagenode:latest`
https://www.storj.io/
https://hub.docker.com/r/storjlabs/storagenode
Notes: 💰 This one earns you money for your storage! Set up your `WALLET` address for payouts.
#### sia
`image: nebulouslabs/sia`
https://sia.tech/
https://hub.docker.com/r/nebulouslabs/sia
2021-04-14 13:38:11 +08:00
---
2021-04-14 13:36:22 +08:00
### Distributed computing projects
#### boinc
`image: ghcr.io/linuxserver/boinc`
https://boinc.berkeley.edu/
https://hub.docker.com/r/linuxserver/boinc
Notes: if you have a GPU, it will help computations greatly, please uncomment the /dev/dri line.
#### foldingathome
`image: ghcr.io/linuxserver/foldingathome`
https://foldingathome.org/
https://hub.docker.com/r/linuxserver/foldingathome
2021-04-14 13:38:11 +08:00
---
2021-04-14 13:36:22 +08:00
### Internet Archiving projects
#### archivewarrior
`image: archiveteam/warrior-dockerfile`
http://warrior.archiveteam.org/
https://hub.docker.com/r/archiveteam/warrior-dockerfile/
#### zimfarm
`image: openzim/zimfarm-worker-manager`
https://github.com/openzim/zimfarm
https://hub.docker.com/r/openzim/zimfarm-worker-manager
Notes: this one requires a static IP! You must contact Kiwix to get your worker set up, and get your static IP whitelisted.
#### kiwix
`image: kiwix/kiwix-serve:latest`
https://www.kiwix.org/en/
https://hub.docker.com/r/kiwix/kiwix-serve
Notes: this one requires you download some ZIM archives to serve into `./data/kiwix`, get those from here: https://wiki.kiwix.org/wiki/Content_in_all_languages
#### archivebox
`image: archivebox/archivebox:latest`
https://archivebox.io
https://hub.docker.com/r/archivebox/archivebox/
Notes: this one is empty by default, add some sites to archive or crawl regulary using the web UI or CLI.
#### pywb
`image: webrecorder/pywb:latest`
https://github.com/webrecorder/pywb
https://hub.docker.com/r/webrecorder/pywb
Notes: this one is empty by default, add some sites to archive or crawl regulary using the web UI or CLI.
---
## Contribute
Contributions are welcome! Please open an issue or PR to suggest a new container be added to the bundle.