Picsur/README.md

125 lines
3.2 KiB
Markdown
Raw Normal View History

2022-02-27 19:27:22 +00:00
<img align="left" width="100" height="100" src="branding/logo/picsur.svg"/>
2022-02-25 12:59:59 +00:00
2022-06-15 14:30:33 +00:00
<a href="https://discord.gg/GPZNwV3VKE">
<img align="right" style="margin: 5px" src="https://img.shields.io/discord/986634827337965638?color=454FBF&label=Chat%20on%20Discord"/>
</a>
2022-02-27 19:27:22 +00:00
# Picsur
2022-02-25 16:18:42 +00:00
2022-02-25 13:01:03 +00:00
<br>
> Totally not an imgur clone
2022-02-25 12:56:16 +00:00
I couldn't really find any open source project that allowed you to easily host images. So I decided to create one.
2022-04-18 12:54:29 +00:00
It feels like a hybrid between Imgur and Pastebin.
2022-02-25 12:56:16 +00:00
## 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.
2022-02-25 16:13:53 +00:00
## Demo
2022-02-27 19:27:22 +00:00
You can view a live demo here: <https://picsur.rubikscraft.nl/>
2022-02-25 16:13:53 +00:00
2022-04-18 12:54:29 +00:00
The images are deleted every five minutes, and the maximum filesize is 16MB. But it should give you an indication of how it works.
2022-02-25 16:13:53 +00:00
2022-06-05 10:30:13 +00:00
## Features
Here is a list of done features, and what is planned.
For a more detailed list, you can always visit [the project](https://github.com/rubikscraft/Picsur/projects/1).
2022-08-28 15:00:44 +00:00
Every featured marked here should work in the latest release.
2022-06-05 10:30:13 +00:00
2022-06-05 10:31:10 +00:00
- [x] Uploading and viewing images
- [x] Anonymous uploads
- [x] User accounts
- [x] User roles and permissions
- [x] Proper CORS restrictions
- [x] Exif stripping
- [x] Ability to keep original
2022-08-28 15:00:44 +00:00
- [x] Support for many formats
- QOI
- JPG
- PNG
- WEBP (animated supported)
- TIFF
- BMP
- GIF (animated supported)
2022-06-05 10:31:10 +00:00
- [x] Convert images
2022-08-28 15:00:44 +00:00
- [x] Edit images
- Resize
- Rotate
- Flip
- Strip transparency
- Negative
- Greyscale
2022-06-05 10:31:10 +00:00
- [x] Deletable images
2022-08-28 15:00:44 +00:00
- [x] Proper DB migrations
- [x] Show own images in list
2022-06-05 10:31:10 +00:00
- [ ] Correct previews on chats
- [ ] Expiring images
- [ ] White mode
- [ ] ShareX endpoint
- [ ] Arm64 image
2022-06-05 10:30:13 +00:00
2022-02-25 16:18:42 +00:00
## Bugs
2022-02-27 19:27:22 +00:00
If you encounter any bugs or oddities, please open an issue [here](https://github.com/rubikscraft/Picsur/issues). Cause without feedback I'll never know they exists.
2022-02-25 16:18:42 +00:00
2022-04-18 12:54:29 +00:00
## Star
If you like this project, don't forget to give it a star. It tells me that I'm not wasting my time on something that people don't like.
2022-02-25 12:56:16 +00:00
## Running
2022-02-25 16:13:53 +00:00
You easily run this service yourself via Docker. Here is an example docker-compose file:
```yaml
2022-06-05 10:20:16 +00:00
version: '3'
2022-02-25 16:13:53 +00:00
services:
2022-02-27 19:27:22 +00:00
picsur:
image: ghcr.io/rubikscraft/picsur:latest
container_name: picsur
2022-02-25 16:13:53 +00:00
ports:
2022-06-05 10:20:16 +00:00
- '8080:8080'
2022-02-25 16:13:53 +00:00
environment:
2022-02-27 19:27:22 +00:00
# PICSUR_HOST: '0.0.0.0'
# PICSUR_PORT: 8080
2022-02-25 16:13:53 +00:00
2022-02-27 19:27:22 +00:00
PICSUR_DB_HOST: picsur_postgres
# PICSUR_DB_PORT: 5432
# PICSUR_DB_USERNAME: picsur
2022-02-27 19:27:22 +00:00
# PICSUR_DB_PASSWORD: picsur
# PICSUR_DB_DATABASE: picsur
2022-02-25 16:13:53 +00:00
2022-02-27 19:27:22 +00:00
# PICSUR_ADMIN_PASSWORD: picsur
2022-02-25 16:13:53 +00:00
2022-02-27 19:27:22 +00:00
# PICSUR_JWT_SECRET: CHANGE_ME
# PICSUR_JWT_EXPIRY: 1d
2022-02-25 16:13:53 +00:00
2022-02-27 19:27:22 +00:00
# PICSUR_MAX_FILE_SIZE: 128000000
# PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"
2022-02-25 16:13:53 +00:00
restart: unless-stopped
2022-02-27 19:27:22 +00:00
picsur_postgres:
2022-08-28 15:00:44 +00:00
image: postgres:14-alpine
2022-02-27 19:27:22 +00:00
container_name: picsur_postgres
2022-02-25 16:13:53 +00:00
environment:
2022-02-27 19:27:22 +00:00
POSTGRES_DB: picsur
POSTGRES_PASSWORD: picsur
POSTGRES_USER: picsur
2022-02-25 16:13:53 +00:00
restart: unless-stopped
volumes:
2022-02-27 21:04:33 +00:00
- picsur-data:/var/lib/postgresql/data
2022-02-25 16:13:53 +00:00
volumes:
2022-02-27 21:04:33 +00:00
picsur-data:
2022-02-25 16:13:53 +00:00
```
2022-02-25 12:56:16 +00:00
2022-02-26 17:16:38 +00:00
## Api
Here is a usually up to date documentation of the api:
2022-08-27 15:32:14 +00:00
[![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/rubikscraft-team/workspace/picsur/collection/1841871-78e559b6-4f39-4092-87c3-92fa29547d03)