Giter Site home page Giter Site logo

notea's Introduction

DEPRECATED, READ BELOW

To put it simply, this project is barely maintained anymore. I don't have time to work on Notea, and I've personally stopped using it too.

Not to fret, however! There are several good alternatives available:

  • If you want something that can synchronise using S3 (or a variety of other methods), then I recommend Joplin. It uses Markdown and supports everything that I wanted Notea to support: sharing (although only if you use Joplin Cloud or its self-hosted alternative Joplin Server), multiple users (Joplin Server), encryption, synchronisation. It even has an iOS app!
  • Qingwei (the original maintainer and creator of Notea) recommended Logseq. It's also decent.

For those that want to continue using Notea, well, good luck. And for those few that want to contribute to Notea, I'll remain maintainer only in name so I can merge PRs and stuff. Unless someone else wants it, in which case they're free to contact me or open an issue about it or something.

That's about all I have to say/write. Farewell.

tecc

Notea

Self-hosted note-taking app stored on S3.

screenshot

Notea - Free self-hosted open source note taking app, like Notion | Product Hunt

Features

  • One-click deploy to Vercel/Netlify or deploy to host with Docker
  • Support storage in Amazon S3, MinIO, Aliyun OSS, etc
  • Notion-like markdown editor

Roadmap

  • Backlinks #39
  • Link embedding (YouTube, Github Gist, Google Docs, etc.)
  • Editing offline #14
  • Note versioning #49
  • File upload

Quickstart

  1. Fork repo. It is recommended to install the Pull app for automatic synchronization.
  2. Choose Storage and manually create bucket.
  3. Deploy App

Deploy

Vercel (Recommended)

Click https://vercel.com/new to deploy your fork repo.

Netlify

Click https://app.netlify.com/start to deploy your fork repo.

Docker

docker run -d \
  --name notea \
  -p 3000:3000 \
  -e STORE_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F \
  -e STORE_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG \
  -e STORE_BUCKET=notea \
  -e STORE_END_POINT=http://play.minio.io \
  -e STORE_FORCE_PATH_STYLE=true \
  -e PASSWORD=notea \
  # -e COOKIE_SECURE=false \ # This is required on non-https sites
  cinwell/notea

You can use watchtower to keep the latest version.

docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower -c notea

If you are looking for MinIO + Notea docker configuration check this

Kubernetes Helm Chart

Use helm chart to deploy to Kubernetes via Helm.

Storage

Configure environment variables according to storage service.

MinIO

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea
STORE_END_POINT=http://localhost:9000
# Required
STORE_FORCE_PATH_STYLE=true
PASSWORD=notea

Amazon S3

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea
STORE_REGION=us-east-1
PASSWORD=notea

Aliyun OSS

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea
STORE_END_POINT=https://oss-cn-hangzhou.aliyuncs.com
STORE_REGION=oss-cn-hangzhou
PASSWORD=notea

Tencent COS

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea # create the bucket first
STORE_END_POINT=https://cos.ap-guangzhou.myqcloud.com
STORE_REGION=ap-guangzhou
PASSWORD=notea

Oracle Object Storage

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_END_POINT=https://nampespace.compat.objectstorage.ap-chuncheon-1.oraclecloud.com
STORE_FORCE_PATH_STYLE=true
STORE_BUCKET=bucketname
STORE_REGION=ap-chuncheon-1
PASSWORD=notea

#  bucketname,namespace and region “ap-chuncheon-1” need check your profile and https://docs.oracle.com/en-us/iaas/api/#/en/s3objectstorage/20160918/

Exoscale

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea # create the bucket first
STORE_END_POINT=https://sos-de-fra-1.exo.io
STORE_REGION=de-fra-1
STORE_FORCE_PATH_STYLE=true
PASSWORD=notea

Cloudflare R2

.env

STORE_ACCESS_KEY=
STORE_SECRET_KEY=
STORE_BUCKET=notea
STORE_END_POINT=
STORE_REGION=us-east-1
PASSWORD=notea

#  The parameter of STORE_END_POINT is the S3 API link (https://...) stored in r2

Other services that support the s3 protocol can also be used. Contribution examples are welcome.

Environment variables

Name Description Default Optional Required
PASSWORD Password to login to the app true
STORE_ACCESS_KEY AccessKey true
STORE_SECRET_KEY SecretKey true
STORE_BUCKET Bucket true
STORE_END_POINT Host name or an IP address.
STORE_REGION region us-east-1
STORE_FORCE_PATH_STYLE Whether to force path style URLs for S3 objects false
STORE_PREFIX Storage path prefix ''
COOKIE_SECURE Only works under https: scheme If the website is not https, you may not be able to log in, and you need to set it to false true
BASE_URL The domain of the website, used for SEO
DISABLE_PASSWORD Disable password protection. This means that you need to implement authentication on the server yourself, but the route /share/:id needs to be accessible anonymously, if you need share page. #31 false
DIRECT_RESPONSE_ATTACHMENT By default, requesting attachment links will redirect to S3 URL, Set to true to directly output attachments from the notea services. #28 false

Development

docker-compose up -d
yarn dev

FAQs

What is S3? And what is MinIO?

  • Amazon Simple Storage Service (AKA Amazon S3). TLDR: Read and write stored files or pictures through RESTful API.
  • MinIO: a self-hosted S3. Install by docker: docker run -p 9000:9000 minio/minio server /data

Why not use Database?

Personally speaking, the data stored in Notea is mainly files (such as text or pictures) but the database is not good at reading and writing these type of files; S3 can generate a signed URL to access the remote files, but the database cannot do it.

Why not use filesystem storage?

There are many excellent offline note-taking apps supporting filesystem storage available. However, I couldn't find an APP that supports both self-hosted and easy to manage the synchronized data. The purpose of this project is to mitigate the above pain-point.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

LICENSE

MIT

notea's People

Contributors

98zi avatar alexanderschau avatar andreaswittig avatar andreipoe avatar dabenzel avatar dependabot[bot] avatar dym-sh avatar faraoman avatar laontme avatar michelbaie avatar molezz avatar notworkingcode avatar panz3r avatar qingwei-li avatar sbkg0002 avatar tecc avatar tuur29 avatar valiantiam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notea's Issues

Netlify errorType":"Runtime.UnhandledPromiseRejection

Hi,

I'm a journalist testing Notea so that I can recommend to my readers.
I've tried the netlify option and it didin't work for me.
https://edufnotes.netlify.app/

Error message bellow.

How can I fix it?

Best

{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"TypeError: Cannot read property 'byteLength' of undefined","trace":["Runtime.UnhandledPromiseRejection: TypeError: Cannot read property 'byteLength' of undefined"," at process.<anonymous> (/var/runtime/index.js:35:15)"," at process.emit (events.js:314:20)"," at processPromiseRejections (internal/process/promises.js:209:33)"," at processTicksAndRejections (internal/process/task_queues.js:98:32)"]}

Cant Login

After entering the (correct) password the login page just reloads and asks again for the password.

I see it creates documents in my Minio instance, but i cant get further than this.

🥳 Feature voting

Hi, there. Thank you for loving Notea. I originally built this app to solve my own needs, I need to be able to control the data and use it at anywhere. I don't care much about the editing experience, so I didn't spend much time on it.

Next, I plan to implement the following features, but I don't have much time to do this. You can vote for what you want most, or comment to add. I want to know what features you want more.






Done:


Hosting under a path

I would very much like to host Notea under a path like https://domain.tld/notea/ but setting BASE_URL as such doesn't work.
The first I issue I ran into was logging in. It redirected me to /login when instead it would need to go to /notea/login.

How much work do you think it would be to support this?

I took a look at the login redirect code a bit and found out that libs/server/middlewares/auth.ts doesn't know anything about BASE_URL. Didn't yet have more time to start trying to fix the code myself.

Cannot Check/Uncheck Boxes on Firefox

Not sure what's happening here, but on Firefox I'm not able to check or uncheck check boxes on notes where on Chrome it's working perfectly fine.

API Security Gap

The API endpoint for images doesn't check for the user to be logged in. If someone shares a note and later unshares the note, but the image was opened in a new tab, it can still be accessed from the user history.

[Feature Request] Store notes on non-S3 Backend

I love this project, but I don't want to deal with the overhead of running an S3 server alongside this. Would it be possible to make it so that notes are stored in a human-readable file format directly on the file system? Such as a directory of .md files?

oracle 免费额度存储S3试了下,似乎不行? 500 Internal Server Error.

.env 新建后修改如下,id和密钥用省略号

STORE_ACCESS_KEY=7e1e5………………4ee2
STORE_SECRET_KEY=pni3q6X……………………VY=
STORE_BUCKET=zzbucket
STORE_END_POINT=https://自己name.compat.objectstorage.ap-chuncheon-1.oraclecloud.com
PASSWORD=123123
STORE_REGION=ap-chuncheon-1
# STORE_FORCE_PATH_STYLE=

Info/Warning/Tip notices not rendering correctly in public view

Hi, thank you so much for this awesome project!
For some reason, the notices aren't rendering correctly in the public view.

Here is an example side by side (public on the left, obviously):
notea_notices_not_working

I hope this is just a small rendering issue, so it may be easy to fix?
Please let me know if you need any further information, e.g. to reproduce the issue.

Code Block adds many extra characters

When doing a codeblock in a bulleted list (it might work elsewhere too) and I put a comment line in my code block, it gets really..werid?

Look at my last code block in my example.

image

Internal Server Error on Docker Method

image

Docker command:

testo101@testo:~$ sudo docker run -d \
>   --name notea \
>   -p 3000:3000 \
>   -e STORE_ACCESS_KEY=AKIAJxxxxxxxxxxZQ \
>   -e STORE_SECRET_KEY=Sv7xxxxxxxxxxxxxxxxxxxxxxxxxxxxftym \
>   -e STORE_BUCKET=notea \
>   -e STORE_REGION=us-east-1 \
>   -e STORE_FORCE_PATH_STYLE=true \
>   -e PASSWORD=notea \
>   cinwell/notea
[sudo] password for testo101: 
Unable to find image 'cinwell/notea:latest' locally
latest: Pulling from cinwell/notea
540db60ca938: Pull complete 
7e50016d5624: Pull complete 
c43b2bfd1b9f: Pull complete 
97029819a1de: Pull complete 
74236504af82: Pull complete 
7560e3ae15b8: Pull complete 
ab919bc89f13: Pull complete 
6081e29b8041: Pull complete 
Digest: sha256:ba75a9425b64fee7c77e07b4fed131c54d35274a30be8089fef59bcacda89a22
Status: Downloaded newer image for cinwell/notea:latest
ba936740feca497449a0bbc3e0e54f0b1ffef084a776d69c0b6127d88b1b2741

Add a refresh button for syncing notes

While you can just press the refresh button in your broswer, it's not really convenient to sync notes in PWA mode, since there is no dedicated refresh button.

So, it would be appreciated to add a dedicated refresh/sync button on the web page, which lets users sync their notes easily.

Thanks!

Bug when development

I tried to add russian locale but i get an error:

error - ./node_modules/heroicons/react/outline/ChevronDoubleLeft.jsx
Module parse failed: Unexpected token (4:9)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|
| function ChevronDoubleLeftIcon(props) {
>   return <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" {...props}><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M11 19l-7-7 7-7m8 14l-7-7 7-7" /></svg>;
| }
|

изображение

OS: Windows 10 20H2
Node: 15.7.0
Yarn: 1.22.10

Steps to reproduce:
Just follow development guide

  1. Clone repo
  2. docker-compose up -d
  3. yarn
  4. yarn dev

Todo list items

Can't tick it off
styling seems to be broken in public view
image

Disable login page

Hi! I'm setting up Notea on my server which already has a login system implemented via reverse proxy. That means that any request that actually gets through to the Notea backend is already authenticated. Would you consider adding an option to disable the login page and notea-managed authentication in general?

Thanks for the great app!

Unable to see uploaded images in posts

Been using Notea since I first saw it being mentioned on Reddit and thinks it is a great app.

One thing that I can't get around though is that I can upload images just fine but Notea will not render them.

This is my setup.

Notea is running in Docker and is behind my NAS reverse proxy. I access Notea using a URL that I have a SSL certificate for (https://notes..com). This works great.

I run Minio in a different Docker container and that one too is behind a https URL (https://minio..com)

As I said, images are uploading just fine but when Notea tries to go and fetch the image it gets a 403 back from the server and not the temporary redirect (307).

There is nothing in the log about this error.

If I take the URL that Notea is trying to load and paste that directly into the browser an error message from Minio comes up saying that the signature of the request isn't correct.

I have tried to have Notea access my Minio store using a http URL and then I get the redirect (307) but since my Notea app is running under https the browser will not allow the http call.

Any help is appreciated.

Thanks,

direct file system support

The databases mentioned are S3 compatible, having an direct file system support gives you the ability to only run one image and still have the functionality of the package.

reasons for the feature:

  • easier management of files
  • smaller system requirements
  • allows the user to use any file system for storing the data.

Example:

  • having direct file system functionality allows the user to just point to a single folder on their machine and be done with it
  • some tools such as typora.io already have this when all they need to work with markdown files is just to create them in a folder

Given the above I really love the tool itself, having the feature to use the filesystem itself instead of S3 might prove useful for NAS and laptop users where they run the tools they need on said machine.

Unable login (unable to disable password using reverse proxy)

Hi,

I would like to try this project however currently I am unable to login. 😔

My setup is to user minio instead of S3 + traefik as https proxy to login via https to notea.
Page loads normally asking for password however "test" password passed via variable doesn't work. Please see the error log.

I also tried to disable login page using variable DISABLE_PASSORD(which I would like to replace by sso), however notea still asks for password. I tried both http and https - there is not diference.

However I was able to login without password when I accessed to notea directly eg: http://172.34.0.34:3000

My docker-compose:

version: "3.7"
services:
  notea:
    image: cinwell/notea
    container_name: notea
    environment:
      - STORE_ACCESS_KEY=minioadmin
      - STORE_SECRET_KEY=minioadmin
      - STORE_BUCKET=notea
      - STORE_END_POINT=http://minio:9000
      - STORE_FORCE_PATH_STYLE=true
      - PASSWORD="test"
      - COOKIE_SECURE=true
      - BASE_URL="https://notea.local.lan"
        #- DISABLE_PASSWORD=true
    labels:
      - traefik.enable=true
      - traefik.http.routers.notea.rule=Host(`notea.local.lan`)
      - traefik.http.services.notea.loadbalancer.server.port=3000
      - traefik.http.routers.notea.entrypoints=web-secure
      - traefik.http.routers.notea.tls=true

  minio:
    image: minio/minio
    container_name: minio
    volumes:
      - /data/notea:/data
    command: server /data

error log:

notea-webapp | ready - started server on 0.0.0.0:3000, url: http://localhost:3000
notea-webapp | info  - Using webpack 4. Reason: future.webpack5 option not enabled https://nextjs.org/docs/messages/webpack5
notea-webapp | {
notea-webapp |   name: 'API_ERR_NEED_LOGIN',
notea-webapp |   message: 'Please login first',
notea-webapp |   status: 401,
notea-webapp |   stack: 'API_ERR_NEED_LOGIN: Please login first\n' +
notea-webapp |     '    at APIError.throw (/app/.next/server/pages/index.js:2124:19)\n' +
notea-webapp |     '    at Array.<anonymous> (/app/.next/server/pages/api/auth/login.js:327:41)\n' +
notea-webapp |     '    at loop (/app/node_modules/next-connect/dist/index.cjs:69:47)\n' +
notea-webapp |     '    at next (/app/node_modules/next-connect/dist/index.cjs:74:13)\n' +
notea-webapp |     '    at Array.useCsrf (/app/.next/server/pages/index.js:2046:5)\n' +
notea-webapp |     '    at loop (/app/node_modules/next-connect/dist/index.cjs:69:47)\n' +
notea-webapp |     '    at next (/app/node_modules/next-connect/dist/index.cjs:74:13)\n' +
notea-webapp |     '    at /app/node_modules/next-iron-session/dist/index.js:137:7\n' +
notea-webapp |     '    at processTicksAndRejections (node:internal/process/task_queues:96:5)'

Cheers

Render HTML

Hi. I'm using Notea and I like the direction it's going in. Everything is working flawlessly for me, but I have a request/suggestion. I use a lot of HTML mixed in with my Markdown, but at the moment the HTML doesn't render with the rest of the markdown. For example:

Screenshot 2021-05-07 160043

Would it be possible to enable the editor to render HTML, or add the option to enable in Settings?

Drag Block

I'm not sure whether notea design based on block, just like Notion.
If yes, I wish I can drag a block.

Propper offline functionality/syncing with PWA

Currently the PWA renders offline, but when trying to type text or create a new note, it keeps deleting the text.
This may be able to be done with the Background sync feature in ServiceWorker

Reverse proxy, security and sharing

I wondered what the best method of securing Notea is while allowing public access to shared links. I have everything setup in Docker with Notea behind a reverse proxy secured with OAuth. In Notea I have the env var DISABLE_PASSWORD=true and allow public access to /share in my reverse proxy.

This successfully secures Notea whilst making shared notes publicly accessible but Notea also calls content from outside /share such as css and js. i.e. /sw.js, /_next/, /api/file. Do I also need to allow public access to this content? I think I'm also running into some CORS issues.

Lastly, what is the recommended method for using images. At the moment, unless I set DIRECT_RESPONSE_ATTACHMENT=true, images upload to minio successfully but are greyed out in Notea and disappear when I refresh the page. I use STORE_END_POINT=http://minio:9000 which docker resolves correctly to my minio container.

If anyone has any suggestions, I'd appreciate it. Thanks.

Issue: 'Search note' does not always work as expected

Hi there
'search note' or I'll call it 'global search' seems broken in this case (highly simplified but still demonstrate the issue):

To reproduce :
I created 3 pages:
page1:
title: CrashDump
content: info about all the crashdump in linux

page2:
title: device
content: the Windows support info for all the

page3:
title ARM test
content: arm info on the doc architecture reference manual

so each page contains the word 'info'. However when I search 'info', only 2 pages are revealed in search result. page3 contains 'info' but not in search result.

search result screenshot
image

Any more info needed? Please let me know.

My Environment:
notea is git cloned just today, yarn install/build. Data back-end is minio. Both notea and minio are natively self-hosted locally on localhost:PORT on my Windows 10 workstation, no docker etc. Thanks.

Linking between notes

Ability to link between notes manualy/automatically would be great to allow for functionality similar to obsidian notes / Zettelkasten

Unable to connect to Minio backend ECONNREFUSED 500

I'm trying to setup notea with a minio backend on a raspberry pi 4. I am able to get both containers running, but when I access notea via the browser I get errors after logging in saying "Failed to load tree". When I check the docker log I see that the connection to minio was unsuccessfull.

I confirmed that notea can ping minio so the two containers can talk.

Error

{
  name: 'Error',
  message: 'connect ECONNREFUSED 172.18.0.8:9001',
  status: 500,
  stack: 'Error: connect ECONNREFUSED 172.18.0.8:9001\n' +
    '    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1133:16)'
}

Docker Compose

version: '3.7'
services:
  notea:
    container_name: notea
    image: cinwell/notea:latest
    platform: linux/arm64
    init: true
    ports:
      - '3000:3000'
    environment:
      - PASSWORD=My Password
      - STORE_ACCESS_KEY=My Access Key
      - STORE_SECRET_KEY=My Secret Key
      - STORE_BUCKET=notea
      - STORE_END_POINT=http://minio:9001
      - STORE_FORCE_PATH_STYLE=true
      - BASE_URL=192.168.2.52
      - COOKIE_SECURE=false
    volumes:
      - /media/docker/config/notea:/data

Error code: Out of Memory

Yesterday I installed Notea with a minio bucket. Everything worked so far great, until today where I tried to add some notes.
Suddenly, I got an error in Chrome

https://i.neus.xyz/rtRPLq.png
https://i.neus.xyz/ORAHJt.mp4

Same thing happens in MS Edge.

root@DockerServer:/docker/.compose/notea# docker logs Notea
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info  - Using webpack 5. Reason: no next.config.js https://nextjs.org/docs/messages/webpack5

outliner app capabilities in future plans?

something like workflowy (nested bullets) baked into this app might be cool to gain extra traction / popularity. this is definitely already much nicer, it seems to me, than the evernote desktop app. keep up the great work!

so far notea looks real nice! really nice! it's up there as far as i'm concerned with Logseq and Obsidian.

Add directly clickable links

Following an external link form a note is currently somewhat cumbersome, as it requires double-clicking on the link, and then clicking on the external-link icon that appears.

It would be useful if an external-link icon was inserted after the text of each link, so it could be followed immediately.

Multiple User Support

I guess it can be done by spinning up another instance, but it would be nice to be able to create new users with their own passwords.

Deployment with S3 not working

Hi Everyone,

maybe you can help me out.
I am getting the following error:

[GET] /
12:15:28:97
2021-05-03T10:15:31.525Z	b8e0dad7-2d94-4da3-aa21-e9deb74a77e4	ERROR	AccessDenied: Access Denied
    at deserializeAws_restXmlGetObjectCommandError (/var/task/node_modules/@aws-sdk/client-s3/dist/cjs/protocols/Aws_restXml.js:6184:41)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async /var/task/node_modules/@aws-sdk/middleware-serde/dist/cjs/deserializerMiddleware.js:6:20
    at async /var/task/node_modules/@aws-sdk/middleware-signing/dist/cjs/middleware.js:12:24
    at async StandardRetryStrategy.retry (/var/task/node_modules/@aws-sdk/middleware-retry/dist/cjs/defaultStrategy.js:56:46)
    at async /var/task/node_modules/@aws-sdk/middleware-logger/dist/cjs/loggerMiddleware.js:6:22
    at async StoreS3.getObject (/var/task/.next/server/pages/index.js:2379:22)
    at async getSettings (/var/task/.next/server/pages/index.js:6795:44)
    at async handler (/var/task/.next/server/pages/index.js:2219:18)
    at async handler (/var/task/.next/server/pages/index.js:6896:17) {
  Code: 'AccessDenied',
  RequestId: '3CEDJNPHK28EFCD7',
  HostId: '9NjH40yi/f2xMWQIkGZuZ4WQ4pV44LIhoh7kQkmEk4NyirxORFh3TluTu17GhwrAUTmVci3PYGY=',
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 403,
    requestId: undefined,
    extendedRequestId: '9NjH40yi/f2xMWQIkGZuZ4WQ4pV44LIhoh7kQkmEk4NyirxORFh3TluTu17GhwrAUTmVci3PYGY=',
    cfId: undefined,
    attempts: 1,
    totalRetryDelay: 0
  }
}
RequestId: b8e0dad7-2d94-4da3-aa21-e9deb74a77e4 Error: Runtime exited with error: exit status 1
Runtime.ExitError

I have deployed notea via vercel.com.

Here are my Environmental variables:
image

The IAM Policy I am using is the following:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketTagging",
                "s3:GetObjectRetention",
                "s3:DeleteObjectVersion",
                "s3:GetBucketLogging",
                "s3:RestoreObject",
                "s3:ListBucket",
                "s3:GetBucketVersioning",
                "s3:GetBucketAcl",
                "s3:ReplicateObject",
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:GetEncryptionConfiguration",
                "s3:GetObjectTagging",
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:PutBucketVersioning",
                "s3:ReplicateDelete",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::notea-jan-backend/*",
                "arn:aws:s3:::notea-jan-backend"
            ]
        }

Does anyone have an idea if I am missing some permission or what else the problem could be?

Thanks a lot.

-Jan

Feature Request: provide option for Article Width?

Qingwei,
Thanks for making notea.

Would you consider to support customizable article width? Something like 'double width' or even 'user input width value'. That's something like Notion's 'Full Width'.

Reason is, when I paste a relative 'big' picture or many times, write long code/words, a wider article makes it easy to read. Thanks

Q: 'npm run dev' is good but 'npm run build' emits error

Hi there, I'm a web app newbie, apology if dump question raised.

Want to self-host notea, so I 'git clone' notea repo and did some proper config for minio and notea.

with 'npm run dev', everything is fine, didn't find any problem using notea in my web broser.
however if I did 'npm run build', got below TypeScript error in pages/api/upload.ts, does this matter?

E:\soft\Notea\app>npm run build

> [email protected] build E:\soft\Notea\app
> next build

info  - Using webpack 5. Reason: future.webpack5 option enabled https://nextjs.org/docs/messages/webpack5
Failed to compile.

./pages/api/upload.ts:28:17
Type error: Argument of type 'string | null' is not assignable to parameter of type 'string'.
  Type 'null' is not assignable to type 'string'.

  26 |       0,
  27 |       8
> 28 |     )}${extname(file.name)}`
     |                 ^
  29 |     const filePath = getPathFileByName(fileName)
  30 |
  31 |     await req.state.store.putObject(filePath, buffer, {
info  - Checking validity of types .npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `next build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\X\AppData\Roaming\npm-cache\_logs\2021-05-31T09_49_12_657Z-debug.log

Import/Export .md files

I have more than thousand .md files but no idea how to import them to switch to Notea.
And would be really awesome to be able to export all my .md files in one click (maybe all compressed in a zip file).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.