A lightweight, self-hosted memo hub. Open Source and Free forever.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Aleksandr Baryshnikov fa17dce046
feat: pre-signed URL for S3 storage (#2855)
Adds automatically background refresh of all external links if they are belongs to the current blob (S3) storage. The feature is disabled by default in order to keep backward compatibility.

The background go-routine spawns once during startup and periodically signs and updates external links if that links belongs to current S3 storage.

The original idea was to sign external links on-demand, however, with current architecture it will require duplicated code in plenty of places. If do it, the changes will be quite invasive and in the end pointless: I believe, the architecture will be eventually updated to give more scalable way for pluggable storage. For example - Upload/Download interface without hard dependency on external link. There are stubs already, but I don't feel confident enough to change significant part of the application architecture.
1 year ago
.github
api feat: pre-signed URL for S3 storage (#2855) 1 year ago
bin/memos feat: pre-signed URL for S3 storage (#2855) 1 year ago
docs feat: pre-signed URL for S3 storage (#2855) 1 year ago
internal feat: pre-signed URL for S3 storage (#2855) 1 year ago
plugin feat: pre-signed URL for S3 storage (#2855) 1 year ago
proto
scripts
server
store feat: pre-signed URL for S3 storage (#2855) 1 year ago
test
web feat: pre-signed URL for S3 storage (#2855) 1 year ago
.dockerignore
.gitignore
.golangci.yaml
CODEOWNERS
Dockerfile
LICENSE
README.md
SECURITY.md
go.mod fix: rss routes 1 year ago
go.sum fix: rss routes 1 year ago

README.md

Memos

A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts.

Home PageBlogsDocsLive Demo

Docker pull Translation status Discord

demo

Key points

  • Open source and free forever. Embrace a future where creativity knows no boundaries with our open-source solution free today, tomorrow, and always.
  • Self-hosting with Docker in just seconds. Enjoy the flexibility, scalability, and ease of setup that Docker provides, allowing you to have full control over your data and privacy.
  • Pure text with added Markdown support. Say goodbye to the overwhelming mental burden of rich formatting and embrace a minimalist approach.
  • Customize and share your notes effortlessly. With our intuitive sharing features, you can easily collaborate and distribute your notes with others.
  • RESTful API for third-party services. Embrace the power of integration and unleash new possibilities with our RESTful API support.

Deploy with Docker in seconds

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:stable

The ~/.memos/ directory will be used as the data directory on your local machine, while /var/opt/memos is the directory of the volume in Docker and should not be modified.

Learn more about other installation methods.

Contribution

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. We greatly appreciate any contributions you make. Thank you for being a part of our community! 🥰

Star history

Star History Chart