33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
# IPFS Upload
|
|
Simple IPFS remote pinning service and
|
|
HTTP upload provider.
|
|
|
|
In addition to providing a remote pinning endpoint
|
|
at /api, you can also POST uploads directly to the
|
|
root `/` with an access token and recieve a URL back:
|
|
```shell
|
|
$ curl -H "Authorization: Bearer ..." -F file=@file https://u.unix.dog/
|
|
https://unix.dog/ipfs/Qm...
|
|
```
|
|
|
|
## Setup
|
|
To setup this service locally, you will need:
|
|
- PostgreSQL (optional)
|
|
- LDAP service with password auth (optional)
|
|
- IPFS node with RPC API (Kubo)
|
|
|
|
Copy the config ipfs_upload.default.yml to
|
|
ipfs_upload.yml, and edit the config appropriately.
|
|
Then use hypnotoad or morbo to run `script/IpfsUpload`.
|
|
Log in, generate tokens, and point your IPFS remote pinning
|
|
to /api. Done!
|
|
|
|
## Databases
|
|
IPFS Upload supports PostgreSQL or SQLite. LDAP and in-database
|
|
password hashing with Argon2ID are also supported. Check the default
|
|
config to learn how to configure it properly.
|
|
|
|
When using in-database authentication, you can change your password
|
|
on the Access Token page. In the config, you can whitelist usernames.
|
|
The password will be set on first login.
|