.github/workflows | ||
app | ||
docker | ||
documentation | ||
tests | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
bun.lockb | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Embedder 🖼️
A media host specialized in producing visually appealing embeds for services like Discord. Enjoy limitless file sizes and no compression.
🚀 Upcoming Features
- 📊 MariaDB/SQL support (currently uses SQLite)
- 🔗 Redundancy & Sync: Enhance reliability and enable synchronization across nodes.
🌐 Potential Features
- 🛰️ IPFS Integration
🔧 How to Run
Using Source
$ export EBPASS=changeme
$ export EBPORT=3000
$ export EBAPI_KEY=changeme # For ShareX support
$ npm install
$ npm start
Note: Default username is admin
with the password being whatever EBPASS
is set to.
ShareX Support
Enabled at /upload
. Requires authentication with key. expire
key specifies duration in days.
{
"Version": "14.1.0",
"Name": "embedder",
"DestinationType": "ImageUploader, FileUploader",
"RequestMethod": "POST",
"RequestURL": "http://localhost:3000/sharex",
"Headers": {
"key": "changeme"
},
"Body": "MultipartFormData",
"Arguments": {
"fileupload": null,
"expire": null
},
"FileFormName": "fileupload",
"URL": null,
"ThumbnailURL": null,
"DeletionURL": null,
"ErrorMessage": null
}
Configuration
This project uses environmental variables to configure functions.
EBPASS
configures the password for the admin account.
EBAPI_KEY
configures the key for API uploading support typically used for ShareX.
EBPORT
configures the port the server runs on.
EB_FFMPEG_PATH
and EB_FFPROBE_PATH
configures the path to the ffmpeg and ffprobe binaries respectively. If not set, it uses installed binaries set in the PATH. If none are detected, it will default to preinstalled binaries from the node-ffmpeg-installer package.
EB_RANDOMIZE_NAMES
configures whether or not to randomize file names. If set to true
, file names will be randomized. If not set or set to false, it will be false
.
Using Docker
docker run -d -p "3000:3000" -e EBPORT=3000 -e EBPASS=changeme -e EBAPI_KEY=changeme ghcr.io/waveringana/embedder:1.11
Docker Compose
version: "3.3"
services:
embedder:
ports:
- "3000:3000"
environment:
- EBPORT=3000
- EBPASS=changeme
- EBAPI_KEY=changeme
volumes:
- ./db:/var/db
- ./uploads:/uploads
image: ghcr.io/waveringana/embedder:1.11
📜 License
Distributed under The Unlicense.