HedgeDoc - Ideas grow better together
Find a file
Dexter Chua f2aba67374 Add option for socket permissions
This allows configuring the group and mode of the unix socket after it
has been created to allow reverse proxies to access it. Fixes #317.

I decided to call `chown` and `chgrp` directly to change the owner and
group (the former will almost definitely not be called; only root can
chown a file to another user, and you are not running codimd as root. It
is included for consistency).

The nodejs chown/chgrp functions only accepts uid and gid, not the names
of the user or group. The standard way to convert a group name into a gid
is the `uid-number` package. The way this package works is that

1. It spawns a new nodejs process
2. The new nodejs process calls nodejs' setgid function, which *does*
   accept both the group name and gid
3. It then calls getuid to retrieve the uid of the process, and returns
   it to the parent process via stdout.

While this *works*, it is hacky, and if we are spawning a process
anyway, might as well call `chgrp` directly.

This does not update the documentation because we are merging into
release/2.0.x but master reworks the configuration section of the
documentation, so there will be a conflict when we merge anyway.

Signed-off-by: Dexter Chua <dalcde@yahoo.com.hk>
2020-06-20 23:04:38 +08:00
bin
docs Added config property for locales 2020-04-24 19:09:18 +02:00
locales
public Update all links with https 2020-04-26 21:59:08 +02:00
src Add option for socket permissions 2020-06-20 23:04:38 +08:00
.babelrc
.editorconfig
.eslintignore Do not lint migration code 2020-05-24 18:11:47 +02:00
.eslintrc.js added rule to eslintrc 2020-04-25 16:04:06 +02:00
.gitignore Ignore the build directory from git 2020-02-24 15:46:22 +01:00
.mailmap
.sequelizerc.example Fix remaining paths after moving everything to src 2020-05-22 14:19:12 +02:00
.travis.yml
app.json Remove PDF export 2020-02-26 15:05:54 +01:00
AUTHORS
CHANGELOG.md
CODE_OF_CONDUCT.md
config.json.example Remove mattermost integration 2020-02-25 14:33:30 +01:00
CONTRIBUTING.md
LICENSE
package.json Fully dedicate our soul to yarn 2020-06-18 16:18:37 +08:00
README.md Remove mattermost integration 2020-02-25 14:33:30 +01:00
SECURITY.md
tsconfig.json Add @types/codemirror 2020-05-25 23:33:47 +02:00
webpack.common.js Add typescript dependency & tsconfig.json 2020-02-24 15:08:20 +01:00
webpack.dev.js
webpack.htmlexport.js
webpack.prod.js
yarn.lock Update yarn.lock 2020-05-25 23:34:16 +02:00

CodiMD

#CodiMD on matrix.org build status version POEditor Mastodon

CodiMD lets you create real-time collaborative markdown notes. You can test-drive it by visiting our CodiMD demo server.

It is inspired by Hackpad, Etherpad and similar collaborative editors. This project originated with the team at HackMD and now forked into its own organisation. A longer writeup can be read in the history doc.

CodiMD 1.3.2 with its feature demonstration page open

Community and Contributions

We welcome contributions! There's a lot to do: If you would like to report bugs, the issue tracker is the right place. If you can help translating, find us on POEditor. To get started developing, take a look at the docs/dev directory. In any case: come talk to us, we'll be delighted to help you with the first steps.

To stay up to date with our work or get support it's recommended to join our Matrix channel, stop by our community forums or subscribe to the release feed. We also engage in regular community calls (RSS) which you are very welcome to join.

Installation / Upgrading

You can run CodiMD in a number of ways, and we created setup instructions for all of these:

If you do not wish to run your own setup, you can find a commercial offering at https://hackmd.io. This is not the same codebase as this one, but it is a very similar project.

Configuration

Theres two main ways to configure your CodiMD instance: Config file or environment variables. You can choose what works best for you.

CodiMD can integrate with

  • facebook, twitter, github, gitlab, dropbox, google, ldap, saml and oauth2 for login
  • imgur, s3, minio, azure for image/attachment storage (files can also be local!)
  • dropbox for export and import

More info about that can be found in the configuration docs above.

Browser support

To use CodiMD, your browser should match or exceed these versions:

  • Chrome Chrome >= 47, Chrome Chrome for Android >= 47
  • Safari Safari >= 9, iOS Safarai iOS Safari >= 8.4
  • Firefox Firefox >= 44
  • IE IE >= 9, Edge Edge >= 12
  • Opera Opera >= 34, Opera Mini Opera Mini not supported
  • Android Browser Android Browser >= 4.4

Our community has created related tools, we'd like to highlight codimd-cli which lets you use CodiMD from the comfort of your command line.

License

Licensed under AGPLv3. For our list of contributors, see AUTHORS.