Imaginarium - A simple golang image storage engine

Imaginarium

A simple golang image storage engine. Used to create and store different sizes/thumbnails of user uploaded images.

Description

Imaginarium enables you to create copies (or thumbnails) of your images and stores them along with the original image on your filesystem. The image and its copies are stored in a file structure based on the MD5 checksum of the original image. The first character of the checksum used as the lvl 1 directory name.

Imaginarium supports png, jpg formats and also images encoded with base64. The decoder for any given image is chosen by the image's mimetype.

Config file: /etc/imaginarium/config.yml

---
storage:
  path: /mnt/storage

exporter:
  enabled: true
  port: 9360

server:
  port: 81
  uploader:
    maxSize: 5M
    contexts:
      - context: thumbnal
        width: 320
        height: 0
      - context: article
        width: 640
        height: 0
    allow:
      - image/png
      - image/jpg
      - image/jpeg

Docker

# docker run -p 81:81 -p 9360:9360 -v $(PWD)/storage:/mnt/storage -v $(PWD)/config.yml:/etc/imaginarium/config.yml:ro -it vasary/imaginarium:latest 

Usage

# curl --request POST --form "[email protected]" http://127.0.0.1:81/upload

HTTP/1.0 201 Created
Content-Type: application/json; charset=UTF-8
X-Request-Id: hGGBnNMrq0jFohotl4ksvG18AB7sgpeJ
Date: Sun, 09 Jan 2022 19:06:06 GMT
Content-Length: 357

[
  {
    "1.png": [
      {
        "Name": "0afb00f5e1babc3aaa723368c44b618d.png",
        "Context": "original"
      },
      {
        "Name": "0afb00f5e1babc3aaa723368c44b618d_thumbnal.png",
        "Context": "thumbnal"
      },
      {
        "Name": "0afb00f5e1babc3aaa723368c44b618d_article.png",
        "Context": "article"
      }
    ]
  }
]
Owner
Viktor Vasary
Don't trust anyone
Viktor Vasary
Similar Resources

A tool to restart a Docker container with a newer version of the image

repull A tool to restart a Docker container with a newer version of an image used by the container Often you may need to pull a newer version of an im

Nov 28, 2022

Triggers an update to a Koyeb app service to re-deploy the latest docker image

Triggers an update to a Koyeb app service to re-deploy the latest docker image

May 5, 2021

Kubernetes workload controller for container image deployment

kube-image-deployer kube-image-deployer는 Docker Registry의 Image:Tag를 감시하는 Kubernetes Controller입니다. Keel과 유사하지만 단일 태그만 감시하며 더 간결하게 동작합니다. Container, I

Mar 8, 2022

Image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing

Image clone controller image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing from public r

Oct 10, 2021

Docker image for setting up one or multiple TCP ports forwarding, using socat

Docker socat Port Forward Docker image for setting up one or multiple TCP ports forwarding, using socat. Getting started The ports mappings are set wi

Dec 20, 2022

Container-Explorer is a tool to explore containerd installation on a mounted image.

Container-Explorer Container-Explorer is a tool to explore containerd installation on a mounted image. Container-Explorer attempts to provide the simi

Dec 27, 2022

A docker image and a launcher to run sasm on Windows and MacOS

A docker image and a launcher to run sasm on Windows and MacOS

Sasm-docker Sasm-docker simplifies the setup and use of SASM by running it inside a docker container and using x11 (X Window System) in order to displ

Nov 14, 2022

registry-tools: Prints image digest from a registry

registry-tools: Prints image digest from a registry

Dec 23, 2021

Executes an OCI image using firecracker.

oci-image-executor Executes an OCI image using Firecracker. Logs from the executed process (both stdout and stderr) are sent to stdout. Logs from the

Dec 28, 2022
k8s-image-swapper Mirror images into your own registry and swap image references automatically.
k8s-image-swapper Mirror images into your own registry and swap image references automatically.

k8s-image-swapper Mirror images into your own registry and swap image references automatically. k8s-image-swapper is a mutating webhook for Kubernetes

Dec 27, 2022
This action prints "true" if image is required to update based on the base image update.

container-image-updater This action prints "true" if image is required to update based on the base image update. Inputs Name Type Description base-ima

Apr 15, 2022
Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using HPE Smart Storage Administrator tool

hpessa-exporter Overview Openshift's hpessa-exporter allows users to export SMART information of local storage devices as Prometheus metrics, by using

Jan 17, 2022
Simple, rootless, "FROM scratch" OCI image builder

zeroimage zeroimage some-program is like building the following Docker image: FROM scratch COPY some-program /some-program ENTRYPOINT ["/some-program"

Jun 26, 2022
StaticBackend is a simple backend server API handling user mgmt, database, storage and real-time component
StaticBackend is a simple backend server API handling user mgmt, database, storage and real-time component

StaticBackend is a simple backend that handles user management, database, file storage, forms, and real-time experiences via channel/topic-based communication for web and mobile applications.

Jan 7, 2023
An application-oriented unified storage layer for Golang.

storage An application-oriented unified storage layer for Golang. Goal Production ready High performance Vendor agnostic Features Widely services supp

Dec 21, 2022
Flash-metrics - Flash Metrics Storage With Golang

Flash Metrics Storage bootstrap: $ echo -e "max-index-length = 12288" > tidb.con

Jan 8, 2022
Mini file storage with Go (Golang)

#Microstorage This is my exercise of creating simple file storage with GoLang Purpose: store and manipulate with user`s images in my pet projects ##Ve

Nov 2, 2022
Fast docker image distribution plugin for containerd, based on CRFS/stargz
Fast docker image distribution plugin for containerd, based on CRFS/stargz

[ ⬇️ Download] [ ?? Browse images] [ ☸ Quick Start (Kubernetes)] [ ?? Quick Start (nerdctl)] Stargz Snapshotter Read also introductory blog: Startup C

Dec 29, 2022
OCI Image Encryption Package

imgcrypt image encryption library and command line tool Project imgcrypt is a non-core subproject of containerd. The imgcrypt library provides API exe

Jan 5, 2023