Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/main/schema/markdownlint-cli2-config-schema.json",
"config": ".markdownlint.json",
"ignores": [
".git",
"node_modules",
"static",
"assets",
"CHANGELOG.md",
"CONTRIBUTING.md",
"README.md"
]
}
7 changes: 7 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"default": true,
"MD003": false, // Disable MD003 to allow different heading styles
"MD013": false, // Disable MD013 to allow long lines
"MD033": false, // Disable MD033 to allow inline HTML
"MD029": { "style": "ordered" } // Ensure ordered lists are used
}
2 changes: 1 addition & 1 deletion docs/admin/configuration/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Logging helps monitor OpenCloud’s health and diagnose issues. Log output varie

Set the global log level using the `OPEN_CLOUD_LOG_LEVEL` environment variable. You can also override it per service using service-specific variables. Default is `error`.

## The log levels are:
## The log levels are

### FATAL

Expand Down
2 changes: 1 addition & 1 deletion docs/admin/configuration/mail-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: 'How to activate mail notifications in OpenCloud.'

# Mail notifications in OpenCloud

## This guide shows how to configure your OpenCloud instance to send notification E-Mails by modifying the `.env` file in your OpenCloud setup.
## This guide shows how to configure your OpenCloud instance to send notification E-Mails by modifying the `.env` file in your OpenCloud setup

---

Expand Down
6 changes: 3 additions & 3 deletions docs/admin/getting-started/container/docker-compose-local.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@ git clone https://github.com/opencloud-eu/opencloud-compose.git

## 2. Start

### cd into the Docker Compose configuration folder:
### cd into the Docker Compose configuration folder

```Shell
cd opencloud-compose
```

### Create environment file:
### Create environment file

```Shell
cp .env.example .env
```

> **Note:** The repository includes .env.example as a template with default settings and documentation. Your actual .env file is excluded from version control (via .gitignore) to prevent accidentally committing sensitive information like passwords and domain-specific settings.

### Configure deployment options:
### Configure deployment options

You can deploy using explicit -f flags:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ Example with Chrome browser:

Once the staging certificate works, switch to a production certificate.

### Steps:
### Steps

#### 1️⃣ Stop Docker Compose

Expand Down Expand Up @@ -257,7 +257,7 @@ If you encounter any issues, check the [Common Issues & Help](./../../../resourc

<br/>

#### To enable Keycloak for identity and access management, **uncomment** the following lines in your `.env` file:
#### To enable Keycloak for identity and access management, **uncomment** the following lines in your `.env` file

```env
LDAP=:ldap.yml
Expand All @@ -271,15 +271,15 @@ KEYCLOAK_ADMIN_PASSWORD="your.save.password"

This will include the LDAP and Keycloak service definitions in the Docker Compose setup.

#### After starting OpenCloud, Keycloak will be available at:
#### After starting OpenCloud, Keycloak will be available at

```bash
https://keycloak.your.domain
```

## 👤 Initial User Setup in Keycloak

### Once Keycloak is running:
### Once Keycloak is running

**1. Open your browser and go to**

Expand Down
2 changes: 1 addition & 1 deletion docs/admin/getting-started/container/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: 'Classic docker setup.'

# Docker

## Spin up a temporary local instance of OpenCloud using **Docker**.
## Spin up a temporary local instance of OpenCloud using **Docker**

---

Expand Down
13 changes: 12 additions & 1 deletion docs/admin/getting-started/other/bare-metal.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ Bare-metal deployments are not officially supported by OpenCloud. They are great
- Open a terminal.

- Update your package list:

```bash
sudo apt update && apt upgrade
```

- Install Git using the following command:

```bash
Expand All @@ -33,9 +35,11 @@ Bare-metal deployments are not officially supported by OpenCloud. They are great
<img src={require("./../img/bare-metal/install-git.png").default} alt="install git" width="1920"/>

- Clone the OpenCloud repository:

```bash
git clone https://github.com/opencloud-eu/opencloud.git
```

<img src={require("./../img/bare-metal/git-clone.png").default} alt="git clone" width="1920"/>

---
Expand All @@ -61,20 +65,25 @@ Bare-metal deployments are not officially supported by OpenCloud. They are great
<img src={require("./../img/bare-metal/install-corepack.png").default} alt="install corepack" width="1920"/>

- Enable `pnpm` using corepack:

```bash
corepack enable pnpm
```

<img src={require("./../img/bare-metal/corepack-enable.png").default} alt="corepack enable" width="1920"/>

---

### 3. Build process and OpenCloud initialization

- Navigate to the OpenCloud directory:

```bash
cd opencloud
```

<img src={require("./../img/bare-metal/cd-opencloud.png").default} alt="cd opencloud" width="1920"/>

- Run the build generate process:

```bash
Expand All @@ -91,9 +100,11 @@ Bare-metal deployments are not officially supported by OpenCloud. They are great
<img src={require("./../img/bare-metal/opencloud-init.png").default} alt="opencloud init" width="1920"/>

- Start the OpenCloud server:

```bash
./bin/opencloud server
```

<img src={require("./../img/bare-metal/opencloud-server.png").default} alt="opencloud server" width="1920"/>

---
Expand All @@ -116,6 +127,6 @@ Your OpenCloud server is now running and ready to use 🚀

---

### If you encounter any issues or errors, try finding a solution here:
### If you encounter any issues or errors, try finding a solution here

- [Common Issues & Help](./../../resources/common-issues.md)
2 changes: 1 addition & 1 deletion docs/admin/getting-started/other/raspberry-pi.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The IP for this can be viewed in your router.

<img src={require("./../img/raspberrypi/ip-router.png").default} alt="find ip from raspberry-pi in router" width="500"/>

#### Establish connection via SSH:
#### Establish connection via SSH

```sh
ssh pi@YOUR-IP
Expand Down
14 changes: 7 additions & 7 deletions docs/admin/maintenance/backup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ id: backup
title: 'Backup'
---

## Regular backups are essential to ensure that your OpenCloud instance can be restored in case of issues.
## Regular backups are essential to ensure that your OpenCloud instance can be restored in case of issues

---

### General considerations

#### OpenCloud supports two different storage setups:
#### OpenCloud supports two different storage setups

- Pure POSIX Setup: All data (configuration, blobs, and metadata) is stored on a POSIX-compliant filesystem.

Expand All @@ -22,7 +22,7 @@ To determine which filesystems are supported, see: Filesystems and Shared Storag

### Backup strategies

#### To create a consistent backup, the OpenCloud instance must be stopped before starting the backup process. After the backup is complete, the instance can be restarted.
#### To create a consistent backup, the OpenCloud instance must be stopped before starting the backup process. After the backup is complete, the instance can be restarted

**There are two recommended approaches:**

Expand All @@ -41,7 +41,7 @@ To determine which filesystems are supported, see: Filesystems and Shared Storag

### Required backup components

#### A complete backup must include:
#### A complete backup must include

- Configuration data

Expand All @@ -65,7 +65,7 @@ To determine which filesystems are supported, see: Filesystems and Shared Storag

### Pure POSIX setup

#### If all data (configuration, blobs, and metadata) is stored on a POSIX-compliant filesystem:
#### If all data (configuration, blobs, and metadata) is stored on a POSIX-compliant filesystem

- Stop the OpenCloud instance

Expand All @@ -81,7 +81,7 @@ To determine which filesystems are supported, see: Filesystems and Shared Storag

### Distributed setup

#### If blobs are stored on S3, while configuration and metadata remain on a POSIX-compliant filesystem:
#### If blobs are stored on S3, while configuration and metadata remain on a POSIX-compliant filesystem

- Stop the OpenCloud instance

Expand All @@ -93,4 +93,4 @@ To determine which filesystems are supported, see: Filesystems and Shared Storag

---

#### With these backup strategies, you can ensure that your OpenCloud instance remains secure and restorable in case of issues!
#### With these backup strategies, you can ensure that your OpenCloud instance remains secure and restorable in case of issues
4 changes: 2 additions & 2 deletions docs/admin/maintenance/migrate.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ This guide will help you migrate personal space data from `NextCloud` and `oCIS`

</TabItem>
<TabItem value="nc" label="Nextcloud">
###
###
Go to `Settings` → `Security`

Create a new `App Password`
Expand All @@ -107,7 +107,7 @@ This guide will help you migrate personal space data from `NextCloud` and `oCIS`

</TabItem>
</Tabs>

---

### 2. Install rclone
Expand Down
2 changes: 1 addition & 1 deletion docs/admin/maintenance/upgrade/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Stop the currently running OpenCloud instance:
<TabItem value="docker-compose" label="docker compose">
```Shell
docker compose stop
```
```
</TabItem>
</Tabs>

Expand Down
6 changes: 3 additions & 3 deletions docs/admin/resources/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Absolutely!
<summary>If OpenCloud is free, how are the employees paid?</summary>

We're glad you asked.
We provide a paid support subscription, see https://opencloud.eu/en/product/service-and-support. With a support subscription you’ll be the first to know about security vulnerabilities and receive detailed instructions on how to address them or how to integrate OpenCloud into your existing systems and storage. We also provide Long-Term-Support if you don't want to upgrade your system so frequently.
We provide a paid support subscription, see [https://opencloud.eu/en/product/service-and-support](https://opencloud.eu/en/product/service-and-support). With a support subscription you’ll be the first to know about security vulnerabilities and receive detailed instructions on how to address them or how to integrate OpenCloud into your existing systems and storage. We also provide Long-Term-Support if you don't want to upgrade your system so frequently.

</details>

Expand Down Expand Up @@ -113,7 +113,7 @@ Yes, you can either use the built-in user management system or integrate OpenClo
<details>
<summary>Are there mobile apps, and do they offer the same features as the desktop version?</summary>

We provide apps for Windows, MacOS, Linux, iOS and Android. Please refer to the roadmap to see when the apps will be available: https://opencloud.eu/roadmap
We provide apps for Windows, MacOS, Linux, iOS and Android. Please refer to the roadmap to see when the apps will be available: [https://opencloud.eu/roadmap](https://opencloud.eu/roadmap)

</details>

Expand Down Expand Up @@ -152,7 +152,7 @@ Key Factors for Optimal Performance:
<details>
<summary>How difficult is it to set up, and is technical expertise required?</summary>

One of our goals is to make the deployment of OpenCloud as simple as possible. Depending on your expereince, it's possible to set up a basic OpenCloud instance in less than 1 minute. See https://docs.opencloud.eu/docs/category/getting-started-1
One of our goals is to make the deployment of OpenCloud as simple as possible. Depending on your expereince, it's possible to set up a basic OpenCloud instance in less than 1 minute. See [https://docs.opencloud.eu/docs/category/getting-started-1](https://docs.opencloud.eu/docs/category/getting-started-1)

</details>

Expand Down
6 changes: 3 additions & 3 deletions docs/dev/web/development/tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@ After starting the docker containers, you can build Web by running `pnpm build:w

For a faster development experience, consider enabling instant hot-reloading. Details on how to set this up are provided below.

Now you can access Web via https://host.docker.internal:9200.
Now you can access Web via [https://host.docker.internal:9200](https://host.docker.internal:9200).

### Using Instant Hot-Reload via Vite

To work with instant hot-reloading, you can also build Web by running `pnpm vite`. The port to access Web is slightly different then: https://host.docker.internal:9201. Also note that the initial page load may take a bit longer than usual. This is normal and to be expected.
To work with instant hot-reloading, you can also build Web by running `pnpm vite`. The port to access Web is slightly different then: [https://host.docker.internal:9201](https://host.docker.internal:9201). Also note that the initial page load may take a bit longer than usual. This is normal and to be expected.

:::note
Make sure that you ran `pnpm build` once before starting the server with `pnpm vite`. Also, you need to accept the self-signed certificate in your browser for https://host.docker.internal:9200 _and_ https://host.docker.internal:9201.
Make sure that you ran `pnpm build` once before starting the server with `pnpm vite`. Also, you need to accept the self-signed certificate in your browser for [https://host.docker.internal:9200](https://host.docker.internal:9200) _and_ [https://host.docker.internal:9201](https://host.docker.internal:9201).
:::
2 changes: 1 addition & 1 deletion docs/dev/web/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ General options that control the behavior of the Web client. Expects an object w
- `options.editor.openAsPreview` Specifies if non-personal files i.e. files in shares, spaces or public links are being opened in read only mode so the user needs to manually switch to edit mode. Can be set to `true`, `false` or an array of web app/editor names.
- `options.contextHelpersReadMore` Specifies whether the "Read more" link should be displayed or not.
- `options.tokenStorageLocal` Specifies whether the access token will be stored in the local storage when set to `true` or in the session storage when set to `false`. If stored in the local storage, login state will be persisted across multiple browser tabs, means no additional logins are required. Defaults to `true`.
- `options.loginUrl` Specifies the target URL to the login page. This is helpful when an external IdP is used. This option is disabled by default. Example URL like: 'https://www.myidp.com/login'.
- `options.loginUrl` Specifies the target URL to the login page. This is helpful when an external IdP is used. This option is disabled by default. Example URL like: '[https://www.myidp.com/login](https://www.myidp.com/login)'.
- `options.logoutUrl` Adds a link to the user's profile page to point him to an external page, where he can manage his session and devices. This is helpful when an external IdP is used. This option is disabled by default.
- `options.userListRequiresFilter` Defines whether one or more filters must be set in order to list users in the Web admin settings. Set this option to 'true' if running in an environment with a lot of users and listing all users could slow down performance. Defaults to `false`.
- `options.concurrentRequests` This accepts an object with the following optional fields to customize the maximum number of concurrent requests in code paths where we limit concurrent requests
Expand Down
8 changes: 4 additions & 4 deletions docs/dev/web/testing/e2e-testing-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ In OpenCloud, we use Playwright for webUI test automation. We benefit from lower

Here are the test standards and guidelines we adhere to when creating Playwright tests at OpenCloud.

## Folder Structure:
## Folder Structure

- `tests/:`
- `e2e/`: Main folder containing all (end-to-end) E2E test-related files.
Expand All @@ -33,7 +33,7 @@ Here are the test standards and guidelines we adhere to when creating Playwright

- `support/`: Playwright (Test implementation)
- `api/`: Contains API-related test files and configurations.
- `<api-folder>/ `: Specific API tests for a particular service.
- `<api-folder>/`: Specific API tests for a particular service.

- `objects/`: Contains the Page Object classes.
- `<specific-page-object-folder>/`: Collection house for related page objects for each webpage or component.
Expand All @@ -53,7 +53,7 @@ Here are the test standards and guidelines we adhere to when creating Playwright

- `videos/`: Recorded videos of test runs.

## Test Structure - Arrange, Act, Assert:
## Test Structure - Arrange, Act, Assert

We can follow the AAA (Arrange, Act, Assert) pattern when structuring the tests. In most cases, the Arrange step can be included in a Before block(hook).
Consider including comments defining each section to ease readability.
Expand Down Expand Up @@ -122,7 +122,7 @@ Then('error message should be visible', async function ({ page }) {
});
```

## Waiting:
## Waiting

Playwright uses auto-waiting, so we avoid artificial waiting, the exception being if it is really necessary.

Expand Down
Loading