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.
2 years ago
.github refactor: move gomark 2 years ago
api feat: pre-signed URL for S3 storage (#2855) 2 years ago
bin/memos feat: pre-signed URL for S3 storage (#2855) 2 years ago
docs feat: pre-signed URL for S3 storage (#2855) 2 years ago
internal feat: pre-signed URL for S3 storage (#2855) 2 years ago
plugin feat: pre-signed URL for S3 storage (#2855) 2 years ago
proto chore: tweak workspace service 2 years ago
scripts fix: pnpm install failed in docker (#2732) 2 years ago
server chore: fix golang linter 2 years ago
store feat: pre-signed URL for S3 storage (#2855) 2 years ago
test feat: add user-defined id to resource 2 years ago
web feat: pre-signed URL for S3 storage (#2855) 2 years ago
.dockerignore chore: update resource dialog style (#982) 3 years ago
.gitignore fix: docker-compose.dev.yaml (#2695) 2 years ago
.golangci.yaml chore: update linter rules 2 years ago
CODEOWNERS chore: update readme (#1047) 3 years ago
Dockerfile chore: update dockerfile 2 years ago
LICENSE feat: responsive view (#75) 4 years ago
README.md chore: tweak readme 2 years ago
SECURITY.md chore: update security 2 years ago
go.mod fix: rss routes 2 years ago
go.sum fix: rss routes 2 years 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