An easy to use, selfhostable image sharing service like Imgur with built in converting
Go to file
rubikscraft 06cc50d236
Update readme
2022-02-25 17:18:42 +01:00
.vscode Fix demo 2022-02-25 17:13:53 +01:00
backend Fix demo 2022-02-25 17:13:53 +01:00
branding/logo better shared api calls 2022-02-25 12:22:00 +01:00
frontend add build scripts 2022-02-25 16:41:56 +01:00
shared add build scripts 2022-02-25 16:41:56 +01:00
support Fix demo 2022-02-25 17:13:53 +01:00
.dockerignore add documentation and docker 2022-02-25 13:56:16 +01:00
.gitignore change to monorepo 2022-02-21 23:26:40 +01:00
LICENSE add license 2022-02-23 11:50:25 +01:00
README.md Update readme 2022-02-25 17:18:42 +01:00
package.json add build scripts 2022-02-25 16:41:56 +01:00
tsconfig.base.json create shared library 2022-02-24 22:56:27 +01:00
workspace.code-workspace add documentation and docker 2022-02-25 13:56:16 +01:00
yarn.lock Fix demo 2022-02-25 17:13:53 +01:00

README.md

Imagur


Totally not an imgur clone

I couldn't really find any open source project that allowed you to easily host images. So I decided to create one.

It works like a hybrid between imgur and pastebin.

Beta

Right now this software is still in beta, and many things are still missing, or will be changed in the future. But it does function, so feel free to give it a try.

Demo

You can view a live demo here: https://imagur.rubikscraft.nl

The images are deleted every five minutes, and the max filesize is 16MB. But it should give you an indication of how it works.

Bugs

If you encounter any bugs or oddities, please open an issue here. Cause without feedback I'll never know they exists.

Running

You easily run this service yourself via Docker. Here is an example docker-compose file:

version: "3"
services:
  imagur:
    image: ghcr.io/rubikscraft/imagur:latest
    container_name: imagur
    ports:
      - "8080:8080"
    environment:
      # IMAGUR_HOST: '0.0.0.0'
      # IMAGUR_PORT: 8080

      IMAGUR_DB_HOST: imagur_postgres
      # IMAGUR_DB_PORT: 5432
      # IMAGUR_DB_USER: imagur
      # IMAGUR_DB_PASSWORD: imagur
      # IMAGUR_DB_NAME: imagur

      # IMAGUR_ADMIN_USERNAME: imagur
      # IMAGUR_ADMIN_PASSWORD: imagur

      # IMAGUR_JWT_SECRET: CHANGE_ME
      # IMAGUR_JWT_EXPIRY: 1d

      # IMAGUR_MAX_FILE_SIZE: 128000000
      # IMAGUR_STATIC_FRONTEND_ROOT: "/imagur/frontend/dist"
    restart: unless-stopped
  imagur_postgres:
    image: postgres:11-alpine
    container_name: imagur_postgres
    environment:
      POSTGRES_DB: imagur
      POSTGRES_PASSWORD: imagur
      POSTGRES_USER: imagur
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data
volumes:
  db-data:

Configuration

You can configure a couple different things using environment variables. Here is the current list with their default values:

IMAGUR_HOST: '0.0.0.0'
IMAGUR_PORT: 8080

IMAGUR_DB_HOST: imagur_postgres
IMAGUR_DB_PORT: 5432
IMAGUR_DB_USER: imagur
IMAGUR_DB_PASSWORD: imagur
IMAGUR_DB_NAME: imagur

IMAGUR_ADMIN_USERNAME: imagur
IMAGUR_ADMIN_PASSWORD: imagur

IMAGUR_JWT_SECRET: CHANGE_ME
IMAGUR_JWT_EXPIRY: 1d

IMAGUR_MAX_FILE_SIZE: 128000000
IMAGUR_STATIC_FRONTEND_ROOT: "/imagur/frontend/dist"