ShotShare - Self-hosted image-sharing app (FOSS alternative to Imgur) reddit / selfhosted ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 01:15 Hello all, long-time lurker in the r/selfhosted community first-time sharer. Lately, I have been working on a lightweight image-sharing platform that I am currently calling "ShotShare" (don't *love* the name, but haven't found anything better). [Home Screen](https://preview.redd.it/jbm90wv6x49c1.png?width=1017&for mat=png&auto=webp&s=e59339b7b99a32a0ad92b51a1a1c26784c73cb27) [Image View](https://preview.redd.it/psrnwwk8x49c1.png?width=1017&form at=png&auto=webp&s=b8f6933e16db4aa89221295cec98290a1dcecc89) [Posted Shots Screen](https://preview.redd.it/5znktecbx49c1.png?width= 1017&format=png&auto=webp&s=979ed5ff0448f17294ac3d5d1688c42c9eaefc08) **What is ShotShare?** ShotShare is a FOSS alternative to platforms like Imgur. Many of these platforms have moved towards a more "social-media" feel and incorporated a ton of ads. The idea with this app is it should allow users to quickly share images and not much else. **Features** * Extremely easy to share images: drag & drop, browse, or even paste your images * 1 click copy links (direct link to image, or link to ShotShare image page) * Profile containing all your posted images * Easy to deploy, only 4 steps * Uses Caddy webserver, auto-issued SSLs This is my first "proper" FOSS project, so I look forward to any feedback! GitHub: [https://github.com/mdshack/shotshare](https://github.com/mdsh ack/shotshare) ---------------------------------------------------------------------- XxNerdAtHeartxX · 2023-12-29 02:27 Does it allow you to create albums/private images? Ive been following [PicSur](https://github.com/CaramelFur/Picsur), but the 'Albums' feature is still on the roadmap for it. If it doesn't have that, what does it offer to stand out from picsur? ---------------------------------------------------------------------- Tiritibambix · 2023-12-29 03:48 Niiiiice. Can we have something like postimage offers ? [Screenshot-2023-12-28-19-46-57-34- d0ef7a9810af20f7b394f4f927b723b0.jpg](https://postimg.cc/nXx4tQ2J) ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 06:11 I poked a bit at Picsur, it looks like a very similar offering. I have a few questions to get a better idea of what you are looking for: For the albums, just looking for a way to create a collection of images? This wouldn't be too wild and could be something I could look into. Also, private images, how would you like to have them authorized? Via a passcode? Direct share to a user? For the albums, are you just looking for a way to create a collection of images? This wouldn't be too wild and could be something I could look into. ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 06:13 Thanks for taking a look! Yeah, this wouldn't be too hard, I could even make this configurable so you could change the available "copy" options/easily implement new options. Are there any in particular that would be useful to you, or just all of them? ---------------------------------------------------------------------- Tiritibambix · 2023-12-29 07:05 Wow, that would be awesome ! Yeah, I could need all of those :) ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 07:41 Just pushed a version (1.3.0) that will add copy links for * Markdown (reddit, github, StackOverflow) * bbcode * and HTML As for the "delete" link, I will hopefully get that done in the coming days! ---------------------------------------------------------------------- kmisterk · 2023-12-29 09:35 Any plans for ShareX integration? ---------------------------------------------------------------------- XxNerdAtHeartxX · 2023-12-29 14:47 Sort of a collection of images, but specifically uploading images in an album a la imgur. The album is auto-created from the grouping of uploaded images, instead of uploading individual images, and then 'collecting' them into an album after they are individually uploaded. As for private images, I would think just hidden from the public view, unless they have a direct link. Extra protections, like a passcode, could be nice, but my personal use case would be to just share images/albums with people with the direct link ---------------------------------------------------------------------- rursache · 2023-12-29 14:49 is there a way to disable new user signups? ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 16:42 This is something I have thought of adding and should be really easy, I will see about getting it added today! ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 16:47 I actually hadn’t known about ShareX till you mentioned it, but it looks pretty slick. While not currently any plans I could definitely take a look at adding this support! ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 16:53 Got it, I did start adding the ability to do multi image uploads that would be grouped like that (scrapped for MVP), so some of the groundwork is there. I don’t think it would be too bad to finish up that work. For the private bit, that’s kinda the state of all of the images that get posted - there’s not really a “discovery” queue or a way to see all the images others have posted. Does that capture what you are looking for, or did you want more obfuscation. ---------------------------------------------------------------------- XxNerdAtHeartxX · 2023-12-29 17:04 No, I think that generally sounds perfect for the private bit. The biggest thing is having multi-image uploads that are grouped by default on upload so I can upload a set of images at once and share a link to that gallery with people. That'd be the standout feature over Picsur, imo ---------------------------------------------------------------------- Tiritibambix · 2023-12-29 18:10 That is great. Thanks for your work. I'm abroad right now so I'll run it as soon as I get back home. But I was in a real need of a tool like yours. Thank you ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 18:48 Awesome, I just pushed a feature to allow you to upload multiple images and have them all appear on the same page. You can get this feature in the latest version (1.4.0). ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 18:49 Following up here, I added this in 1.4.0, you may specify the \`ALLOW\_REGISTRATION=false\` to turn off registration. ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 18:50 Absolutely, glad to help! ---------------------------------------------------------------------- XxNerdAtHeartxX · 2023-12-29 19:02 Wow, that was super quick! I was expecting it to take longer with how long Ive been waiting on Picsur to add something similar. Will defo test it out ---------------------------------------------------------------------- kmisterk · 2023-12-29 19:07 Your system seems already really close to supporting it, it just needs an API interface to submit an image and then return a link to the submitter. ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 23:05 Thanks, and definitely shout if you have any more ideas/requests! ---------------------------------------------------------------------- TwoBoolean · 2023-12-29 23:06 Yeah it definitely does seem extremely close, the upload endpoint could maybe even be reused with a header or something ---------------------------------------------------------------------- kmisterk · 2023-12-30 06:47 Yeah. I bet you have the core components needed. Just gotta expose it via API with Token Authentication. ---------------------------------------------------------------------- rursache · 2023-12-30 11:55 amazing, thank you! ---------------------------------------------------------------------- housepanther2000 · 2023-12-30 15:06 Looks really good! ---------------------------------------------------------------------- SantoferJesus · 2023-12-30 19:52 Amazing but it's not working on my VPS. Can you please help make a docker-compose file? ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 03:18 Thank you! ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 03:19 Hey u/SantoferJesus, what sort of issues are you running into? ---------------------------------------------------------------------- Royal-Stunning · 2023-12-31 08:57 same, it's kind hard to setup on docker, I already used npm. I am looking something like docker run --name shotshare -d test/shotshare but shotshare bundled with caddy, even docker compose using mysql, I had rather we can configure our own port, setup our own reverse proxy, etc. I try it like this docker run --name shotshare -d mdshack/shotshare:latest and setup my own reverse proxy with npm, and it doesn't work. ---------------------------------------------------------------------- Snuupy · 2023-12-31 14:20 I've been looking for something like this! Will give it a try! ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 16:29 Awesome, lemme know if you have any questions or feedback! ---------------------------------------------------------------------- Snuupy · 2023-12-31 16:38 1. looks like demo is down? 2. imgur uses 7 character urls and has many more objects uploaded than any self-hosted user would ever use. Can we get shorter urls instead of hash (I assume) links? 3. in the readme.md: "images added here are automatically after a few minutes." - I think you mean are "automatically deleted" :) ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 17:03 Thanks for looking over this! 1. Sadly there was a bug with the caddy mounts that has since been fixed, essentially it was issuing a new cert every update, so I hit the rate limit for that domain. It should self resurrect by the end of the week, but I may just move to another domain before then 2. I am thinking of moving all images references to UUIDs, this would allow us to have, I’m not sure if this would get us to shorter links, but it would add a level of obscurity over the auto incrementing IDs for the shotshare links. For shorter URLs, I can maybe add some customization there to allow shorter urls as well. 3. 😂 good catch I will give that a fix ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 22:25 Got it, so if you would like to front ShotShare with another reverse proxy and not have it "self-manage" it's SSLs, you may run it with the host \`http://\*\` and then all have your reverse proxy point at \`http://\[your server address\]\`. Below is an example command (note I dropped the 443 port binding and changed the host to "http://\*"). If you would like to change port 80 to something else, simply update the first integer on line 3 (example: \`8080:80\` will make ShotShare available on port 8080) docker run \ -p 80:80 \ -e HOST=http://* \ -v shotshare_caddy_data:/data/caddy \ -v shotshare_caddy_config:/config/caddy \ -v shotshare_database:/app/database \ -v shotshare_data:/app/storage \ --mount type=bind,source=/shotshare/.env,target=/app/.env \ -d \ --restart unless-stopped \ --name shotshare \ mdshack/shotshare:latest Let me know how this works and if you have any other questions! ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 22:43 I just wanted to update here; I moved the demo off to another host, and you should now be able to check it out [here](https://demo.shotshare.mdsh.dev/). ---------------------------------------------------------------------- TwoBoolean · 2023-12-31 22:59 I went ahead and added [an issue](https://github.com/mdshack/shotshare/issues/11) for this, if you have the chops and wanna give it a shot that would be awesome. Otherwise I will try to get to it when I have some time on my hands! Thanks for bringing this tool to my attention.