Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/havenstd06/limg
An image hosting service powered by Laravel
https://github.com/havenstd06/limg
backpack-for-laravel cms database discord discord-webhook drag-and-drop image image-hosting laravel livewire php screenshot sharex sharex-php sharex-upload tailwind tailwindcss url webhook
Last synced: 3 months ago
JSON representation
An image hosting service powered by Laravel
- Host: GitHub
- URL: https://github.com/havenstd06/limg
- Owner: Havenstd06
- Created: 2019-12-27T15:49:11.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T05:32:24.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T07:21:57.940Z (3 months ago)
- Topics: backpack-for-laravel, cms, database, discord, discord-webhook, drag-and-drop, image, image-hosting, laravel, livewire, php, screenshot, sharex, sharex-php, sharex-upload, tailwind, tailwindcss, url, webhook
- Language: PHP
- Homepage: https://limg.app
- Size: 46.8 MB
- Stars: 56
- Watchers: 3
- Forks: 13
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Limg
## An open source image hosting service powered by Laravel
## Features
- Upload your image via file, url or ShareX !
- Manage your image (custom title, public or private, delete, custom size...)
- Custom Domain for ShareX upload (be sure to add a redirect from the new domain to the main domain)
- Discord Webhook for every new image uploaded
- Add image into an album (custom name, public or private, delete)
- Backpack Admin Panel (ready to use)
- Like System
- Possibility to choose to generate shorter links for ShareX uploads
- Public & Private API## Requirement
- [**PHP**](https://php.net) 7.4+
- Database server: [MySQL](https://www.mysql.com) or [**MariaDB**](https://mariadb.org)
- [Composer](https://getcomposer.org)
- [Node.js](https://nodejs.org/) with npm## Installation
* clone the repository: `git clone https://github.com/Havenstd06/Limg`
* create a database
* install: `composer install`
* create configuration env file `.env` refer to `.env.example`
* generate a new application key `php artisan key:generate`
* setup database tables: `php artisan migrate:fresh --seed` (**highly recommanded**)
* create storage link `php artisan storage:link`
* install node_module `npm i && npm run dev` (or npm run prod)
* Default username: Havens - Password : password (see `database/factories/UserFactory.php` & `database/seeds/UsersTableSeeder`)## Setup Discord Login
* go on https://discordapp.com/developers/applications
* create new application
* copy `CLIENT ID` & `CLIENT SECRET`
* paste on `.env` (`CLIENT ID` => `DISCORD_KEY` & `CLIENT SECRET` => `DISCORD_SECRET`)
* go on OAuth2 page and add redirect link : `https://YourApp.Domain/login/discord/callback`
* add this redirect link in `.env` => `DISCORD_REDIRECT_URI`## API
### API endpoint
`https://limg.app/api`### Authorization Header
For some page (with sensitive information) an API key is necessary, you must add:
`Authorization:` `{UserApiToken}`### Stats
* `/stats/global` - Return the number of images, albums and users.### User
* `/user/{Username}` - Return the user's public information.
* `/user/{Username}` (with "Authorization") - Return the user's private information.
* `/user/{Username}/images/discover` - Returns all the user's "discover" images.
* `/user/{Username}/images/all` (with "Authorization") - Return all user images.
* `/user/{Username}/images/public` (with "Authorization") - Returns all the user's "public" images.
* `/user/{Username}/images/private` (with "Authorization") - Returns all the user's "private" images.### Images
* `/images/discover` - Return all "discover" images.
* `/images/{pageName}` - Return the image of the specified image "pageName" (If public).
* `/images/{pageName}` (with "Authorization") - Return the image of the specified image "pageName" (If private).
* `/images/delete/{pageName}` (with "Authorization") - Delete the image, only if you own the image (does not work with anonymous user images).### Upload
* `/upload` - ShareX Compatible API.## Backpack Admin Panel
This software uses Backpack for Laravel as a dependency. So when you use this in production, you'll need a Backpack license. You can get a free non-commercial license here, but if your project is for commercial purposes you need to pay 69 EUR for a license.## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.## License
[MIT](https://choosealicense.com/licenses/mit/)