Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add the Collaboration stack debugging doc #9113

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

2403905
Copy link
Contributor

@2403905 2403905 commented May 8, 2024

Description

Add the Collaboration stack and debugging doc

Related Issue

Motivation and Context

How Has This Been Tested?

  • test environment:
  • test case 1:
  • test case 2:
  • ...

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Technical debt
  • Tests only (no source changes)

Checklist:

  • Code changes
  • Unit tests added
  • Acceptance tests added
  • Documentation ticket raised:

@2403905 2403905 force-pushed the issue-9111-addhoc branch 2 times, most recently from 9690448 to be5a254 Compare May 22, 2024 13:36
@2403905 2403905 marked this pull request as ready for review May 22, 2024 13:37
@2403905 2403905 requested a review from saw-jan May 22, 2024 13:47
@2403905 2403905 enabled auto-merge May 22, 2024 14:43
@2403905 2403905 force-pushed the issue-9111-addhoc branch 2 times, most recently from b8564e0 to 9f201d5 Compare June 5, 2024 15:10
Copy link

sonarcloud bot commented Jun 5, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

Comment on lines +1 to +6
# Documentation
The documentation is incomplete because the Collaboration server is in a development state.

# Infinite Scale Collaboration Deployment Example

This deployment example of the oCIS with the new Collaboration server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Documentation
The documentation is incomplete because the Collaboration server is in a development state.
# Infinite Scale Collaboration Deployment Example
This deployment example of the oCIS with the new Collaboration server.
# Infinite Scale Collaboration Deployment Example
IMPORTANT: This documentation is a first draft because the Collaboration service is currently under development.
This oCIS deployment example shows the setup with the new Collaboration service replacing on a long run the WOPI deployment example.

Comment on lines +10 to +14
* oCIS, Collaboration server, Collabora or OnlyOffice running behind Traefik as reverse proxy
* Collabora or OnlyOffice enable you to edit documents in your browser
* Collaboration server acts as a bridge to make the oCIS storage accessible to Collabora or OnlyOffice
* Traefik generating self-signed certificates for local setup or obtaining valid SSL certificates for a server setup
Please note: Against the stack that uses [wopiserver](https://owncloud.dev/ocis/deployment/ocis_wopi/), we don't need the app_provider anymore. The new Collaboration server now includes an app_provider.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* oCIS, Collaboration server, Collabora or OnlyOffice running behind Traefik as reverse proxy
* Collabora or OnlyOffice enable you to edit documents in your browser
* Collaboration server acts as a bridge to make the oCIS storage accessible to Collabora or OnlyOffice
* Traefik generating self-signed certificates for local setup or obtaining valid SSL certificates for a server setup
Please note: Against the stack that uses [wopiserver](https://owncloud.dev/ocis/deployment/ocis_wopi/), we don't need the app_provider anymore. The new Collaboration server now includes an app_provider.
* oCIS, the collaboration service, Collabora or OnlyOffice are running behind Traefik as reverse proxy
* Collabora or OnlyOffice enable you to edit documents in your browser
* The collaboration service acts as a bridge to make the oCIS storage accessible to Collabora or OnlyOffice
* Traefik generates self-signed certificates for local setup, or obtaining valid LetsEncrypt SSL certificates for a server setup
Note: Compared to the stack that uses [wopiserver](https://owncloud.dev/ocis/deployment/ocis_wopi/), we don't need the extra `app_provider` setup anymore. The new collaboration service now includes an `app_provider`.

* Traefik generating self-signed certificates for local setup or obtaining valid SSL certificates for a server setup
Please note: Against the stack that uses [wopiserver](https://owncloud.dev/ocis/deployment/ocis_wopi/), we don't need the app_provider anymore. The new Collaboration server now includes an app_provider.

### Running
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Running
## Using the Deployment Example

Comment on lines +167 to +168
Example for `Collaboration server` `deployments/examples/ocis_collaboration/docker-compose.collabora.yml`
Please note: Against the stack that uses [cs3org/wopiserver](https://github.com/cs3org/wopiserver), we don't need the app_provider anymore. The new collaboration server now includes the wopiserver and app_provider.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Example for `Collaboration server` `deployments/examples/ocis_collaboration/docker-compose.collabora.yml`
Please note: Against the stack that uses [cs3org/wopiserver](https://github.com/cs3org/wopiserver), we don't need the app_provider anymore. The new collaboration server now includes the wopiserver and app_provider.
Example for the `collaboration servie`: `deployments/examples/ocis_collaboration/docker-compose.collabora.yml`.
Note: Compared to the stack that uses [wopiserver](https://owncloud.dev/ocis/deployment/ocis_wopi/), we don't need the extra `app_provider` setup anymore. The new collaboration service now includes an `app_provider`.

ocis-net:
aliases:
- ${OCIS_DOMAIN:-ocis.owncloud.test}
- ${collaboration_DOMAIN:-collaboration.owncloud.test}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

collaboration_DOMAIN should be fully uppercase I think.

COLLABORATION_WOPI_SECRET: LoremIpsum567
COLLABORATION_APP_NAME: "Collabora"
COLLABORATION_APP_ADDR: https://${COLLABORA_DOMAIN:-collabora.owncloud.test}
COLLABORATION_APP_ICON: https://${COLLABORA_DOMAIN:-collabora.owncloud.test/favicon.ico}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this should be https://${COLLABORA_DOMAIN:-collabora.owncloud.test}/favicon.ico (note that the "favicon.ico" is always appended to the domain)

COLLABORATION_HTTP_ADDR: 0.0.0.0:9300
MICRO_REGISTRY: "nats-js-kv"
MICRO_REGISTRY_ADDRESS: "ocis:9233"
COLLABORATION_WOPI_SRC: https://${COLLABORATION_DOMAIN:-collaboration.owncloud.test}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like http://collaboration:9300 (going through the docker network and not outside) should be possible as long as the collaboration service is accessible from Collabora or OnlyOffice

@jvillafanez
Copy link
Member

I'm not sure where, but it might be a good idea to have a deployment "for dummies" for people to play around. Basically, a close-to-zero configuration and minimal service deployment.
A deployment with just Traefik, oCIS and Collabora (or OnlyOffice) with just the required configuration to make it work; no need to configure things for big files, or adding additional mimetypes. The steps to run the example should also be extremely easy: change these (few) parameters and run the command.
From there, we can start adding more things on top of the basic example: configure related services, add monitoring, move the collaboration to other container or host, etc. This can help to showcase different things.

In this regard, there are some things that could be confusing:

  • The instructions aren't clear enough. Just a "run docker compose" isn't enough when people would need to download the folder because there is configuration required, plus default variables that are unlikely to work anywhere. "run docker compose" for me is copy the .yaml file and run it; if it doesn't work with that, then it doesn't work.
    It would be better if the instruction were something like: copy the contents of this folder (which contains required configuration), adjust the values of these files (bonus point if it's just one and I don't need to scroll for thousands of lines to change a required value), and run the command.
  • The current example seems to be in the middle of a dummy test deployment and something that could be used in production.
    If we want to show a basic example:
    • The "banned-password-list.txt" file should be removed. It doesn't do anything for the collaboration service, and the admin can add his own file later. It just add noise.
    • The "web.yaml" file doesn't seem to be required. We could add a "cool things you can add later" section (although I still don't know how they're related to the collaboration service)
    • For the OnlyOffice configuration file, I'm not sure how much is strictly required but I'd try to minimize what is needed. For example, coauthoring isn't required and for an example / demo deployment is too much (unless we want to promote or showcase that feature)
    • The "companion" container is something I'd remove. It's unrelated to the collaboration service. Another thing for the "cool things you can add later" section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants