ShotShare 一个极简的个人图床程序

ShotShare 一个极简的个人图床程序
ShotShare 一个极简的个人图床程序
ShotShare 一个极简的个人图床程序



An open-source self hosted image sharing platform.


ShotShare is an open source, self hosted, bare bones image posting/sharing platform, it was built to allow friends to upload screenshots and send links to their friends without the constant barrage of ads/extraneous features.


A demo may be found here. This environment is strictly for trialing the application; images added here are automatically after a few minutes.

Installation, Configuration, & Local Development

ShotShare is meant to be extremely easy to self host. Below is a sample deployment using Docker.

Example Deployment with Docker

  1. Create a directory for ShotShare: sudo mkdir /shotshare
  2. Create a .env file that will manage ShotShare generated environment variables (ex. your application key): sudo touch /shotshare/.env
  3. Ensure the user/group 82 (www-data user in docker container) own the .env file: sudo chown 82:82 /shotshare/.env
  4. Start the ShotShare container

You may wish to customize environment variables (such as the HOST) before running this command, see below for a list of environment variables.docker run \ -p 80:80 \ -p 443:443 \ -e HOST=localhost \ -v shotshare_caddy_data:/data \ -v shotshare_caddy_config:/config \ -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

Configuration Options

Note: These are not all of the configuration options, only the most used ones, feel free to open a PR if you see any missing. For a more in-depth look at all the available options check out here.

Environment VariableDefaultOptionsDescription
DB_CONNECTIONsqlitesqlite,mysql,pgsql,sqlsrvIndicates what database connection will be used
DB_HOST127.0.0.1N/ANot required if using sqlite, indicates the database host
DB_PORT3306N/ANot required if using sqlite, indicates the database port
DB_DATABASEshotshareN/ANot required if using sqlite, indicates the database database
DB_USERNAMEshotshareN/ANot required if using sqlite, indicates the database username
DB_PASSWORDnoneN/ANot required if using sqlite, indicates the database password
HOSTlocalhostN/APublic host used by Caddy, thanks to caddy, this host will automatically be issued a SSL certificate

Local Development

Local development is done using docker compose

  1. Pull the repo: git clone [email protected]:mdshack/shotshare.git
  2. Change to the ShotShare directory: cd shotshare
  3. Install dependencies: composer install; npm install
  4. Build frontend: npm run build
  5. Start docker compose: docker compose up


There is currently no established pattern for contributing, if you see something missing or feel like something could be better feel free to pop open an issue and/or PR.


ShotShare is open-sourced and licensed under the MIT License.

无错源码所有资源来自会员发布以及互联网收集,不代表本站立场,如有侵犯你的权益请联系管理员,站内发信联系 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请在下载24小时内删除!



Cloudreve Client For Windows 类似百度网盘Windows客户端源码

2023-12-19 14:40:16



2023-12-29 23:47:21

0 条回复 A文章作者 M管理员
有新私信 私信列表