Gitlab Community Edition Instance

Commit 8a4085f3 authored by Gregor Thiem's avatar Gregor Thiem
Browse files

try fix update to 1.9.4

parent a52c70d0
......@@ -30,7 +30,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12, 14, 16]
node-version: [14, 16]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
......@@ -45,7 +45,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12, 14, 16]
node-version: [14, 16]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
......
......@@ -88,6 +88,7 @@ knjcode <knjcode@gmail.com>
Kotaro Yamamoto <kota.crk@gmail.com>
Lars Karlsson <lars@kajes.se>
Laura Kyle <laura.kyle91@gmail.com>
Lautaro Alvarez <lautarolalvarez@gmail.com>
LaysDragon <laysdra7265@gmail.com>
Lennart Weller <lhw+github@ring0.de>
Leo Maroni <git@em0lar.de>
......@@ -96,6 +97,7 @@ liuderchi <liuderchi@gmail.com>
LluisArevalo <thorin119@gmail.com>
Luclu7 <me@luclu7.fr>
Lukas Kalbertodt <lukas.kalbertodt@gmail.com>
Manu <manu@snapdragon.cc>
Marc Deop <marc@marcdeop.com>
Marcelo Alencar <marceloalves@ufpa.br>
MartB <mart.b@outlook.de>
......
......@@ -46,7 +46,7 @@ if (config.useSSL) {
const options = {
key: fs.readFileSync(config.sslKeyPath, 'utf8'),
cert: fs.readFileSync(config.sslCertPath, 'utf8'),
ca: ca,
ca,
dhparam: fs.readFileSync(config.dhParamPath, 'utf8'),
requestCert: false,
rejectUnauthorized: false
......@@ -242,7 +242,7 @@ app.get('*', function (req, res) {
io.use(realtime.secure)
// socket.io auth
io.use(passportSocketIo.authorize({
cookieParser: cookieParser,
cookieParser,
key: config.sessionName,
secret: config.sessionSecret,
store: sessionStore,
......
......@@ -8,7 +8,7 @@
],
"website": "https://hedgedoc.org",
"repository": "https://github.com/hedgedoc/hedgedoc",
"logo": "https://github.com/hedgedoc/hedgedoc/raw/master/public/hedgedoc-icon-1024.png",
"logo": "https://github.com/hedgedoc/hedgedoc-logo/raw/main/LOGOTYPE/PNG/HedgeDoc-Logo%201.png",
"success_url": "/",
"env": {
"NPM_CONFIG_PRODUCTION": {
......@@ -40,8 +40,8 @@
"required": false
},
"CMD_DOMAIN": {
"description": "domain name",
"required": false
"description": "your instance domain, like `example.herokuapp.com`",
"required": true
},
"CMD_URL_PATH": {
"description": "sub url path, like `www.example.com/<URL_PATH>`",
......
......@@ -31,11 +31,11 @@ EOF
exit 1
fi
if version_lt "$(node --version)" 'v12.0.0'; then
if version_lt "$(node --version)" 'v14.13.1'; then
cat << EOF
FATAL: Your Node.js version is not supported.
Please upgrade to version 12 or higher and try again.
Please upgrade to version 14.13.1 or higher and try again.
We recommend running the latest LTS release, see https://nodejs.org/en/about/releases/ for details.
EOF
exit 1
......@@ -47,10 +47,10 @@ if [ ! -f config.json ]; then
fi
echo "Installing packages..."
yarn install --production=true --pure-lockfile
yarn install --production=true --frozen-lockfile
cat << EOF
If you want to build the frontend yourself, you need to run 'yarn install' before 'yarn build' to install the devDependencies for the build process.
If you want to build the frontend yourself, you need to run 'yarn install --frozen-lockfile' before 'yarn build' to install the devDependencies for the build process.
Edit the following config file to setup HedgeDoc server and client.
Read more info at https://docs.hedgedoc.org/configuration/
......
......@@ -211,6 +211,11 @@ these are rarely used for various reasons.
| | `CMD_OAUTH2_ROLES_CLAIM` | **no default**, `roles` | ID token claim, which is supposed to provide an array of strings of roles |
| | `CMD_OAUTH2_ACCESS_ROLE` | **no default**, `role/hedgedoc` | The role which should be included in the ID token roles claim to grant access |
!!! info
If you are using a [CA not trusted by Node.js](https://github.com/nodejs/node/issues/4175) (like Let's Encrypt e.g) for your OAuth2 provider you can set the [`NODE_EXTRA_CA_CERTS`](https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file) environment variable to the CA certificate file path of your CA.
Remember to also make the file available inside the Docker container, if you're running HedgeDoc in Docker container.
### SAML Login
| config file | environment | **default** and example value | description |
......@@ -246,14 +251,16 @@ you don't have to use either of these.
### Amazon S3
| config file | environment | **default** and example value | description |
| ----------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `s3` | | `{ "accessKeyId": "YOUR_S3_ACCESS_KEY_ID", "secretAccessKey": "YOUR_S3_ACCESS_KEY", "region": "YOUR_S3_REGION" }` | When `imageuploadtype` be set to `s3`, you would also need to setup this key, check our [S3 Image Upload Guide](guides/s3-image-upload.md) |
| | `CMD_S3_ACCESS_KEY_ID` | **no default** | AWS access key id |
| | `CMD_S3_SECRET_ACCESS_KEY` | **no default** | AWS secret key |
| | `CMD_S3_REGION` | **no default**, `ap-northeast-1` | AWS S3 region |
| `s3bucket` | `CMD_S3_BUCKET` | **no default** | AWS S3 bucket name |
| | `CMD_S3_ENDPOINT ENV` | **no default** | S3 API endpoint if you don't use AWS name |
| config file | environment | **default** and example value | description |
| --------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `s3` | | `{ "accessKeyId": "YOUR_S3_ACCESS_KEY_ID", "secretAccessKey": "YOUR_S3_ACCESS_KEY", "region": "YOUR_S3_REGION" }` | When `imageuploadtype` be set to `s3`, you would also need to setup this key, check our [S3 Image Upload Guide](guides/s3-image-upload.md) |
| | `CMD_S3_ACCESS_KEY_ID` | **no default** | AWS access key id |
| | `CMD_S3_SECRET_ACCESS_KEY` | **no default** | AWS secret key |
| | `CMD_S3_REGION` | **no default**, `ap-northeast-1` | AWS S3 region |
| `s3bucket` | `CMD_S3_BUCKET` | **no default** | AWS S3 bucket name |
| | `CMD_S3_ENDPOINT ENV` | **no default** | S3 API endpoint if you don't use AWS name |
| `s3folder` | `CMD_S3_FOLDER` | 'uploads' | Folder where the files will be saved inside the bucket |
| `s3publicFiles` | `CMD_S3_PUBLIC_FILES` | `false` | If se to `true` set public permissions to files when uploading to s3 storage |
### Azure Blob Storage
......
......@@ -2,7 +2,7 @@
## Preparing for running the code
**Notice:** *There's [specialised instructions for docker](../setup/docker.md) or [heroku](../setup/heroku.md), if you prefer running code this way!*
**Notice:** *There are [specialised instructions for docker](../setup/docker.md) if you prefer running code this way!*
1. Clone the repository with `git clone https://github.com/hedgedoc/hedgedoc.git hedgedoc-server`
(cloning is the preferred way, but you can also download and unzip a release)
......
......@@ -3,7 +3,7 @@ openapi: 3.0.1
info:
title: HedgeDoc
description: HedgeDoc is an open source collaborative note editor. Several tasks of HedgeDoc can be automated through this API.
version: 1.9.3
version: 1.9.4
contact:
name: HedgeDoc on GitHub
url: https://github.com/hedgedoc/hedgedoc
......
......@@ -59,3 +59,7 @@ successfully with Nextcloud 14 and Nextcloud 20).
CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=ocs.data.display-name
CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=ocs.data.email
```
!!! info
If you are using a [CA not trusted by Node.js](https://github.com/nodejs/node/issues/4175) (like Let's Encrypt e.g) for your NextCloud instance you can set the [`NODE_EXTRA_CA_CERTS`](https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file) environment variable to the CA certificate file path of your CA.
Remember to also make the file available inside the Docker container, if you're running HedgeDoc in Docker container.
# History of HedgeDoc
## It started with HackMD
HackMD is the origin of this project, which was mostly developed by Max Wu and
Yukai Huang. Originally, this was open source under MIT license, but was
[relicensed in October 2017 to be AGPLv3](https://github.com/hackmdio/codimd/pull/578).
At the same time, [hackmd.io](https://hackmd.io) was founded to offer a
commercial version of HackMD.
The AGPLv3-version was developed and released by the community, this was for a
while referred to as "HackMD community edition".
*For more on the splitting of the projects, please refer to [A note to our community (2017-10-11)](https://hackmd.io/c/community-news/https%3A%2F%2Fhackmd.io%2Fs%2Fr1_4j9_hZ).*
## HackMD CE became CodiMD
In June 2018, CodiMD was renamed from its former name "HackMD" and continued to
be developed under AGPLv3 by the community. We decided to change the name to
break the confusion between HackMD (enterprise offering) and CodiMD (community
project), as people mistook it for an open core development model.
*For the whole renaming story, see the [issue where the renaming was discussed](https://github.com/hackmdio/hackmd/issues/720).*
## CodiMD went independent
In March 2019, a discussion over licensing, governance and the future of CodiMD
lead to the formation of a distinct GitHub organization. Up to that point, the
community project resided in the organization of hackmdio but was for the most
part self-organized.
During that debate, we did not reach an agreement that would have allowed us to
move the repository, so we simply forked it. We still welcome the HackMD team
as part of our community, especially since a large portion of this code base
originated with them.
*For the debate that lead to this step, please refer to the [governance debate](https://github.com/hackmdio/hackmd/issues/1170) and [the announcement of the new repository](https://github.com/hedgedoc/hedgedoc/issues/10).*
## CodiMD became HedgeDoc
With two actively named forks sharing the same name, both [insisting on being
the original/actual owner of the name CodiMD](https://github.com/hackmdio/codimd/issues/1219),
people became rightfully confused about the projects sharing the same name.
After roughly a year of being stuck on the name issue, the HedgeDoc community
decided to take action and started a [renaming process in April 2020](https://community.codimd.org/t/renaming-yet-another-time/102).
With a good head start in the amount of names, it was decided that an entire
rebranding should take place and therefore, after a [name was agreed on in July
2020](https://community.codimd.org/t/codimd-becomes-hedgedoc/170), the next step
was to [find a logo](https://community.codimd.org/t/time-to-find-the-hedgedoc-logo/171).
In November of 2020, roughly 7 months after the initiative was started, a logo was
found, the rebranding of the application as well as all community pages took place
and the time of name conflicts was over. (hopefully.)
# Arch Linux
HedgeDoc is available in the Arch Linux _community_ repository.
[Link to the package](https://archlinux.org/packages/community/any/hedgedoc/)
# Cloudron
HedgeDoc is available as a 1-click install on [Cloudron](https://cloudron.io). Cloudron makes it easy to run apps like HedgeDoc on your server and keep them up-to-date and secure.
[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=io.hackmd.cloudronapp)
The source code for the package can be found [here](https://git.cloudron.io/cloudron/codimd-app).
There is a [demo instance](https://my.demo.cloudron.io) (username: cloudron password: cloudron) where
you can experiment with running HedgeDoc.
# LinuxServer.io HedgeDoc Image
# Community Installation Methods
The HedgeDoc community has created and tested many options for deploying HedgeDoc on other platforms or operating systems.
You can check them out below. Feel free to create a PR to add your tested community installation method.
These are not officially supported by the HegeDoc maintainers. If you encounter issues or have questions, please first reach out to downstream packagers.
## Container Deployments
### LinuxServer.io Docker Image
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-hedgedoc.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-hedgedoc/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-hedgedoc/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-hedgedoc/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/hedgedoc.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/hedgedoc "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/hedgedoc.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/hedgedoc)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/hedgedoc.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/hedgedoc)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-hedgedoc%2Fjob%2Fmain%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-hedgedoc/job/main/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fhedgedoc%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/hedgedoc/latest/index.html)
[LinuxServer.io](https://linuxserver.io) have created an Ubuntu-based multi-arch container image for x86-64, arm64 and armhf.
[LinuxServer.io](https://linuxserver.io) have created an Alpine-based multi-arch container image for x86-64, arm64 and armhf.
- It supports all the environment variables detailed in the [configuration documentation](../configuration.md) to modify it according to your needs.
- It gets rebuilt on new releases from HedgeDoc and also weekly if necessary to update any other package changes in the underlying container, making it easy to keep your HedgeDoc instance up to date.
......@@ -18,3 +20,55 @@
In order to contribute check the LinuxServer.io [GitHub repository](https://github.com/linuxserver/docker-hedgedoc/) for HedgeDoc.
And to find all tags and versions of the image, check the [Docker Hub repository](https://hub.docker.com/r/linuxserver/hedgedoc).
### Helm Chart
You can deploy HedgeDoc on your Kubernetes cluster using `helm`.
[HedgeDoc Helm Chart by nicholaswilde on Artifact Hub](https://artifacthub.io/packages/helm/nicholaswilde/hedgedoc)
[Website](https://nicholaswilde.github.io/helm-charts/)
[Source Code](https://github.com/nicholaswilde/helm-charts/tree/main/charts/hedgedoc)
## One-click Installer
### Heroku
You can quickly setup a sample Heroku HedgeDoc application by clicking the button
below.
[![Deploy on Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hedgedoc/hedgedoc/tree/master)
### YunoHost
HedgeDoc is available as a 1-click install on [YunoHost](https://yunohost.org/). YunoHost is a Debian GNU/Linux based distribution packaged with free software that automates the installation of a personal web server.
[![Install HedgeDoc with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=hedgedoc)
The source code for the package can be found [here](https://github.com/YunoHost-Apps/hedgedoc_ynh).
### Cloudron
HedgeDoc is available as a 1-click install on [Cloudron](https://cloudron.io). Cloudron makes it easy to run apps like HedgeDoc on your server and keep them up-to-date and secure.
[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=io.hackmd.cloudronapp)
The source code for the package can be found [here](https://git.cloudron.io/cloudron/codimd-app).
There is a [demo instance](https://my.demo.cloudron.io) (username: cloudron password: cloudron) where
you can experiment with running HedgeDoc.
### PikaPods
[PikaPods](https://www.pikapods.com/) offers simple hosting for open source apps. Run HedgeDoc within seconds
using the button below. This will run the official Docker image from [quay.io](https://quay.io/repository/hedgedoc/hedgedoc).
[![Run on PikaPods](https://www.pikapods.com/static/run-button.svg)](https://www.pikapods.com/pods?run=hedgedoc)
## Distribution Packages
### Arch Linux
HedgeDoc is available in the Arch Linux _community_ repository.
[Link to the package](https://archlinux.org/packages/community/any/hedgedoc/)
......@@ -28,7 +28,7 @@ services:
restart: always
app:
# Make sure to use the latest release from https://hedgedoc.org/latest-release
image: quay.io/hedgedoc/hedgedoc:1.9.3
image: quay.io/hedgedoc/hedgedoc:1.9.4
environment:
- CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc
- CMD_DOMAIN=localhost
......
# Heroku Deployment
You can quickly setup a sample Heroku HedgeDoc application by clicking the button
below.
[![Deploy on Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/hedgedoc/hedgedoc/tree/master)
# Helm Chart
You can deploy HedgeDoc on your Kubernetes cluster using `helm`.
[HedgeDoc Helm Chart by nicholaswilde on Artifact Hub](https://artifacthub.io/packages/helm/nicholaswilde/hedgedoc)
[Source Code](https://nicholaswilde.github.io/helm-charts/)
# Manual Installation
!!! info "Requirements on your server"
- Node.js `>= 12.20.0`, `>= 14.13.1` or `>= 16`. We recommend you run HedgeDoc with the latest release of Node 16.
- Node.js `>= 14.13.1` or `>= 16`. We recommend you run HedgeDoc with the latest release of Node 16.
- Database (PostgreSQL, MySQL, MariaDB, SQLite)
The database must use charset `utf8`. This is typically the default in PostgreSQL and SQLite.
In MySQL and MariaDB UTF-8 might need to be set with `alter database <DBNAME> character set utf8 collate utf8_bin;`
......@@ -16,7 +16,7 @@
1. Check if you meet the [requirements at the top of this document](#manual-installation).
2. Download the [latest release](https://hedgedoc.org/latest-release/) and extract it.
<small>Alternatively, you can use Git to clone the repository and checkout a release, e.g. with `git clone -b 1.9.3 https://github.com/hedgedoc/hedgedoc.git`.</small>
<small>Alternatively, you can use Git to clone the repository and checkout a release, e.g. with `git clone -b 1.9.4 https://github.com/hedgedoc/hedgedoc.git`.</small>
3. Enter the directory and execute `bin/setup`, which will install the dependencies and create example configs.
4. Configure HedgeDoc: To get started, you can use this minimal `config.json`:
```json
......@@ -34,14 +34,14 @@
It's also possible to use environment variables.
For details, have a look at [the configuration documentation](../configuration.md).
5. *:octicons-light-bulb-16: If you use the release tarball for 1.7.0 or newer, this step can be skipped.*
Build the frontend bundle by running `yarn install` and then `yarn build`. The extra `yarn install` is necessary as `bin/setup` does not install the build dependencies.
Build the frontend bundle by running `yarn install --frozen-lockfile` and then `yarn build`. The extra `yarn install --frozen-lockfile` is necessary as `bin/setup` does not install the build dependencies.
6. It is recommended to start your server manually once:
```shell
NODE_ENV=production yarn start
```
This way it's easier to see warnings or errors that might occur.
<small>You can leave out `NODE_ENV=production` for development.</small>
7. If you use the example config, HedgeDoc should now be available at [http://127.0.0.1:3000](http://127.0.0.1:3000).
7. If you use the example config, HedgeDoc should now be available at [http://localhost:3000](http://localhost:3000).
8. Run the server as you like (node, forever, pm2, systemd, Init-Scripts).
See [below](#systemd-unit-example) for an example using systemd.
......@@ -58,10 +58,10 @@ If you want to upgrade HedgeDoc from an older version, follow these steps:
and the latest release.
2. Fully stop your old HedgeDoc server.
3. [Download](https://hedgedoc.org/latest-release/) the new release and extract it over the old directory.
<small>If you use Git, you can check out the new tag with e.g. `git fetch origin && git checkout 1.9.3`</small>
<small>If you use Git, you can check out the new tag with e.g. `git fetch origin && git checkout 1.9.4`</small>
5. Run `bin/setup`. This will take care of installing dependencies. It is safe to run on an existing installation.
6. *:octicons-light-bulb-16: If you used the release tarball for 1.7.0 or newer, this step can be skipped.*
Build the frontend bundle by running `yarn install` and `yarn build`. The extra `yarn install` is necessary as `bin/setup` does not install the build dependencies.
Build the frontend bundle by running `yarn install --frozen-lockfile` and `yarn build`. The extra `yarn install --frozen-lockfile` is necessary as `bin/setup` does not install the build dependencies.
7. It is recommended to start your server manually once:
```shell
NODE_ENV=production yarn start
......
YunoHost
===
HedgeDoc is available as a 1-click install on [YunoHost](https://yunohost.org/). YunoHost is a Debian GNU/Linux based distribution packaged with free software that automates the installation of a personal web server.
[![Install HedgeDoc with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=hedgedoc)
The source code for the package can be found [here](https://github.com/YunoHost-Apps/hedgedoc_ynh).
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment