Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhoreeq/ipfd
An imageboard, but images are stored in a peer-to-peer network
https://github.com/zhoreeq/ipfd
decentralized golang imageboard ipfs peer-to-peer
Last synced: 3 months ago
JSON representation
An imageboard, but images are stored in a peer-to-peer network
- Host: GitHub
- URL: https://github.com/zhoreeq/ipfd
- Owner: zhoreeq
- License: mit
- Created: 2020-12-20T06:11:34.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-10-04T10:09:56.000Z (over 3 years ago)
- Last Synced: 2024-08-06T16:16:20.639Z (6 months ago)
- Topics: decentralized, golang, imageboard, ipfs, peer-to-peer
- Language: Go
- Homepage:
- Size: 146 KB
- Stars: 101
- Watchers: 8
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Interplanetary File Dumpster
An [imageboard](https://en.wikipedia.org/wiki/Imageboard), but images are stored in a peer-to-peer network
Features:
- Easy file sharing without registration and SMS. Supports images, video and audio files.
- Files are not stored on the disk, but are uploaded to the peer-to-peer [IPFS](https://ipfs.io) network instead.
- IPFS gateway is configurable. Use your own or any other [public gateway](https://ipfs.github.io/public-gateway-checker/) to host uploaded files.
- RSS feeds.
- Comments and up/down votes.
- Premoderation mode toggle.## Requirements
- PostgreSQL database
- IPFS node
- Go 1.15.2 (only for building)
- A web server is recommended, i.e. nginx## Run with docker
```
git clone https://github.com/zhoreeq/ipfd.git && cd ipfd
docker build -t ipfd .
docker-compose up -d
```The app listens at http://localhost:8000
## Build
- git clone repo
- run `make`## Install
- copy (or symlink) `static/` and `templates/` directories to your location, i.e. `/etc/ipfd`
- copy `config.example` to your location, i.e. `/etc/ipfd/config`
- edit the config file
- install database schema from `migrations/xxx_init.up.sql` file
- optionally, configure nginx as a reverse proxyLook inside `contrib/` directory for systemd and nginx config files.
## Run
`./ipfd -config /etc/ipfd/config`
## Config options
- SITE\_URL, website url, i.e. https://example.org
- SITE\_NAME, website title
- BIND\_ADDRESS, bind ipfd web server to this address
- DATABASE\_URL, postgresql connection string
- TEMPLATES\_PATH, path to templates, i.e. `/etc/ipfd/templates`
- STATIC\_URL, URL to static files
- STATIC\_PATH, path to static files, i.e. `/etc/ipfd/static`
- SERVE\_STATIC, if you want to serve static with nginx, set this to false
- IPFS\_API, IPFS node settings, by default it should be /ip4/127.0.0.1/tcp/5001
- IPFS\_GATEWAY, URL of IPFS gateway
- IPFS\_PIN, files are not pinned in the IPFS repository if set to false
- MAX\_FILESIZE, maximum uploaded file size in bytes
- ALLOWED\_CONTENT\_TYPES, which MIME file types are allowed
- PREMODERATION, if true, posts are not displayed until admin approves them manually