{"id":21889002,"url":"https://github.com/zerek-cheng/simple-assets-platform","last_synced_at":"2025-04-04T08:07:50.585Z","repository":{"id":59013285,"uuid":"535024283","full_name":"Zerek-Cheng/Simple-Assets-Platform","owner":"Zerek-Cheng","description":"简单图床托管系统/静态资源托管系统 - A simple assets platform powered by spring (spring boot / spring security) \u0026 vue 2 \u0026 element ui \u0026 Casdoor(For Authenication)","archived":false,"fork":false,"pushed_at":"2024-12-03T15:56:35.000Z","size":20780,"stargazers_count":239,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-28T07:07:16.978Z","etag":null,"topics":["asset","assets","casbin","casdoor","image","imgs","resource","resources"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zerek-Cheng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"zerek","github":["Zerek-Cheng"]}},"created_at":"2022-09-10T14:35:28.000Z","updated_at":"2025-01-16T01:30:56.000Z","dependencies_parsed_at":"2025-01-15T23:14:59.778Z","dependency_job_id":"cae6c118-268d-49eb-bd9d-43c0af8e1b26","html_url":"https://github.com/Zerek-Cheng/Simple-Assets-Platform","commit_stats":{"total_commits":29,"total_committers":2,"mean_commits":14.5,"dds":0.03448275862068961,"last_synced_commit":"1d4dc153cda0d6fbb53957b0a8fa8a1254d170ad"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zerek-Cheng%2FSimple-Assets-Platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zerek-Cheng%2FSimple-Assets-Platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zerek-Cheng%2FSimple-Assets-Platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zerek-Cheng%2FSimple-Assets-Platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zerek-Cheng","download_url":"https://codeload.github.com/Zerek-Cheng/Simple-Assets-Platform/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142066,"owners_count":20890652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asset","assets","casbin","casdoor","image","imgs","resource","resources"],"created_at":"2024-11-28T11:18:33.023Z","updated_at":"2025-04-04T08:07:50.558Z","avatar_url":"https://github.com/Zerek-Cheng.png","language":"Java","funding_links":["https://ko-fi.com/zerek","https://github.com/sponsors/Zerek-Cheng"],"categories":[],"sub_categories":[],"readme":"#### ***暂无更新计划***\n\n# 静态资源托管系统/图床系统 / Simple Assets Platform\n\n#### **更加灵活的图片、静态资源存放浏览系统** / **More flexible image and static resource storage and browsing system**\n\n---  \n![](https://github.com/Zerek-Cheng/Simple-Assets-Platform/raw/master/show.jpg)\n### **技术架构 / Technology Architecture**\n\u003e * 前端 / Tempalte：\n\u003e   * Vue.js + ElementUI\n\u003e * 后端 / Backend：\n\u003e   * Spring + MyBatis + MySQL/SQLITE + Redis + Flyway\n\n**Template Demo:**\n**[https://zerek-cheng.github.io/Simple-Assets-Platform/](https://zerek-cheng.github.io/Simple-Assets-Platform/)**  \n***友情提示: 上为Github Pages，未架设后端程序，故只可预览界面***  \n***Tips: On Github Pages, no backend program is set up, so only the interface can be previewed***\n\n**Backend :**\n[![](https://github.com/Zerek-Cheng/Simple-Assets-Platform/actions/workflows/docker.yml/badge.svg?branch=master)](https://hub.docker.com/repository/docker/zerek00/simple-assets-platform)\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/zerek00/simple-assets-platform)](https://hub.docker.com/repository/docker/zerek00/simple-assets-platform)\n\n**Template:**\n[![](https://github.com/Zerek-Cheng/Simple-Assets-Platform/actions/workflows/docker.yml/badge.svg?branch=master-template)](https://hub.docker.com/repository/docker/zerek00/simple-assets-platform-template)\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/zerek00/simple-assets-platform-template)](https://hub.docker.com/repository/docker/zerek00/simple-assets-platform-template)\n\n![](https://imgEntity.shields.io/github/languages/code-size/Zerek-Cheng/Simple-Assets-Platform?style=for-the-badge)\n![](https://imgEntity.shields.io/github/stars/Zerek-Cheng/Simple-Assets-Platform?style=for-the-badge)\n![](https://imgEntity.shields.io/github/license/Zerek-Cheng/Simple-Assets-Platform?style=for-the-badge)\n\n### 安装过程 / Install Steps：\n\n**Pre-Install: Docker, Docker-Compose, Mysql, Redis, Web Server, [Casdoor](https://github.com/casdoor/casdoor)**\n\n```\n1. docker run -d -p 8080:80 -v ./sap-backend/application.yml:/app/config/application.yml zerek00/simple-assets-platform-template\n  + 配置application-dev.yml(填写完你的redis、mysql、文件保存位置等信息)\n2. docker run -d -p 8081:8081 zerek00/simple-assets-platform\n3. 配置Web服务器的proxy_pass选项\n  + /api/ -\u003e 8181端口\n  + / -\u003e 8080端口\n4. 访问 http://localhost/\n5. Enjoy it!\n```\n\n\u003e **友情提示 / Tips:**  \n\u003e docker中的env同样生效，且优先级最高！ 例子: server.port=8888\n\u003e The env in docker also takes effect and has the highest priority! Example: server.port=8888\n\n### application.yml Example:\n\n```yaml\nweb:\n  url: http://192.168.100.114:8080\n  backend: http://192.168.100.114:8080/api/\n  casdoor-callback: ${web.url}/api/login/callback\n  allow-upload: # 允许上传的文件类型(不影响前端)\n    - jpg\n    - jpeg\n    - png\n    - gif\n    - bmp\n    - webp\n    - svg\n    - tiff\n  # 默认存储类型  local-file-本地存储\n  storage-type: local-file\n  storage-config:\n    local-file:\n      enabled: true\n      type: local-file\n      path: /tmp/\n    qiniu:\n      enabled: false\n      type: qiniu\n      access-key: xxx\n      secret-key: xxx\n      bucket: xxx\n      domain: xxx\n    aliyun:\n      enabled: false\n      type: aliyun\n      access-key: xxx\n      secret-key: xxx\n      bucket: xxx\n      domain: xxx\nserver:\n  port: 8081\n  servlet:\n    session:\n      cookie: # 浅用PHPSESSIONID做个伪装\n        name: PHPSESSIONID\n  tomcat:\n    max-swallow-size: -1 # 上传文件大小限制\nspring:\n  profiles:\n    active: dev\n  jackson:\n    time-zone: GMT+8\n    date-format: yyyy-MM-dd HH:mm:ss\n  datasource:\n    type: com.alibaba.druid.pool.DruidDataSource\n    druid:\n      # 使用jdbcUrl, 目前支持mysql(在5.7下测试通过)/sqlite\n      url: jdbc:mysql://192.168.xxx.5:3306/spring?useUnicode=true\u0026characterEncoding=utf-8\u0026useSSL=false\u0026useAffectedRows=true\u0026serverTimezone=GMT%2B8\n      username: xxxxxx\n      password: xxxxxx\n  session:\n    store-type: redis\n  redis:\n    host: 192.168.xxxxx.5\n    port: 6379\n    database: 0\n    password: xxxxxxxxxx\n    jedis:\n      pool:\n        enabled: true\n    client-type: jedis\n  servlet:\n    multipart:\n      # 上传文件的位置 windows格式为 D:\\\\upload\\\\xxx\\\\\n      location: /tmp/\n      # 上传文件的最大值\n      max-file-size: 10MB\n      # 上传表单的最大值\n      max-request-size: 10MB\ncasdoor: # casdoor配置，必须与CasDoor对接，证书每一行结尾必须带上\\r\\n\n  endpoint: https://oauth.xxxxxxxxxx.cn\n  client-id: 54aba1exxxxxxxxxxxxx\n  client-secret: 58a93442745950554ea2a980dxxxxxxxxxxxx\n  organization-name: dev-org\n  application-name: SimpleImgsPlatform\n  certificate: \"-----BEGIN CERTIFICATE-----\\r\\n\nMIIE2TCCAsGgAwIBAgIDAeJAMA0GCSqGSIb3DQEBCwUAMCYxDjAMBgNVBAoTBWFk\\r\\n\n-----END CERTIFICATE-----\"\nmybatis-plus:\n  mapper-locations: classpath:mapper/*.xml\n  type-aliases-package: cn.bukkit.sip.orm.entity\n  configuration:\n    cache-enabled: true\n  type-handlers-package: cn.bukkit.sip.orm.handler\n\n```\n\n### Nginx conf Example\n\n```yaml\nserver {\n  listen 80;\n  #listen 443 ssl http2;\n  server_name localhost;\n  #ssl_certificate \"/home/certs/localhost.pem\";\n  #ssl_certificate_key \"/home/certs/localhost.key\";\n  #ssl_session_cache shared:SSL:1m;\n  #ssl_session_timeout  10m;\n  #ssl_ciphers PROFILE=SYSTEM;\n  #ssl_prefer_server_ciphers on;\n  proxy_set_header    Host    $http_host;\n  proxy_set_header    X_Real-IP   $remote_addr;\n  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;\n  proxy_redirect      off;\n  location ~* ^/api/ {\n  proxy_pass http://127.0.0.1:8081;\n  rewrite ^/api(.*) $1 break;\n  }\n  location ~* ^/(assets|js|css)/ {\n  proxy_pass http://127.0.0.1:8080;\n  }\n  location ~* \"(.*)\\.[a-zA-Z]{1,4}$\" {\n  proxy_pass http://127.0.0.1:8080;\n  }\n  location / {\n  proxy_pass http://127.0.0.1:8080;\n  try_files $uri $uri/ /index.html;\n  }\n}\n```\n\n### 当然，你也可以直接使用docker-compose来启动(注意修改下面的端口映射)\n\n```yaml\nversion: '3.1'\n\nservices:\n  sap-backend:\n    user: root\n    container_name: sap-backend\n    image: zerek00/simple-assets-platform\n    restart: always\n    volumes:\n      - ./sap-backend/application.yml:/app/config/application.yml\n      # ./files/:/tmp/\n    networks:\n      db:\n        aliases:\n          - sap_backend\n    ports:\n      - 11181:8081\n    depends_on:\n      - mysql\n      - redis\n  sap-template:\n    user: root\n    container_name: sap-template\n    image: zerek00/simple-assets-platform-template\n    restart: always\n    networks:\n      db:\n        aliases:\n          - sap_template\n    ports:\n      - 11180:80\nnetworks:\n  db:\n    name: dbNet\n    external: true\n```\n\n## 项目 Star 趋势 / Project Star Trend\n\n![](https://starchart.cc/Zerek-Cheng/Simple-Assets-Platform.svg)\n\n## 作者状态 / Author Status\n\n[![My Github Stats](https://github-readme-stats.vercel.app/api?username=Zerek-Cheng\u0026show_icons=true\u0026theme=radical)](https://github.com/Zerek-Cheng)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerek-cheng%2Fsimple-assets-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzerek-cheng%2Fsimple-assets-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzerek-cheng%2Fsimple-assets-platform/lists"}