-
Notifications
You must be signed in to change notification settings - Fork 24
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
Easier docker-based server installation #4446
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
eb24a38
adds separate docker-compose for https-based hosting
normanrz 2375ad2
readme
normanrz 1dc81dc
documentation
normanrz 82d6f43
docs
normanrz 83c2a20
Merge branch 'master' into docs-hosting-docker
normanrz dcc204c
changelog
normanrz 46689ab
docs
normanrz bf1d9e8
Update docs/index.md
normanrz 5b083f7
docker-compose pinned versions
normanrz 5eef842
docs
normanrz 162e174
readme
normanrz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ webKnossos is an open-source tool for annotating and exploring large 3D image da | |
* Scale data reconstruction projects with crowdsourcing workflows | ||
* Share datasets and annotations with collaborating scientists | ||
|
||
[Start using webKnossos](https://webknossos.org) - [User Documentation](https://docs.webknossos.org) - [Contact us](mailto:[email protected]) | ||
[Start using webKnossos](https://webknossos.org) - [On your own server](https://docs.webknossos.org/) - [User Documentation](https://docs.webknossos.org) - [Contact us](mailto:[email protected]) | ||
|
||
[![]( https://img.shields.io/circleci/project/github/scalableminds/webknossos/master.svg?logo=circleci)](https://circleci.com/gh/scalableminds/webknossos) | ||
[![](https://img.shields.io/github/release/scalableminds/webknossos.svg)](https://github.com/scalableminds/webknossos/releases/latest) | ||
|
@@ -41,13 +41,16 @@ webKnossos is an open-source tool for annotating and exploring large 3D image da | |
|
||
[Read more about the original publication.](https://publication.webknossos.org) | ||
|
||
## Installation | ||
webKnossos is open-source, so you can install it on your own server. | ||
|
||
[Check out the documentation](https://docs.webknossos.org/guides/installation) for a tutorial on how to install webKnossos on your own server. | ||
|
||
For installations on localhost, please see below. | ||
|
||
## Development installation | ||
### Docker | ||
This is the fastest way to try webKnossos. | ||
Docker CE 17+ and Docker Compose 1.18+ is required. | ||
This is only recommended for testing. | ||
[For production](https://github.com/scalableminds/webknossos/wiki/Production-setup), a more elaborate setup with persistent file mounts and HTTPS reverse proxy is recommended. | ||
This is only recommended for local testing. Docker 17+ and Docker Compose 1.18+ are required. | ||
|
||
```bash | ||
git clone -b master --depth=1 [email protected]:scalableminds/webknossos.git | ||
|
@@ -56,18 +59,12 @@ docker-compose pull webknossos | |
./start-docker.sh | ||
``` | ||
|
||
Open your local webknossos instance on [localhost:9000](http://localhost:9000). | ||
Open your local webknossos instance on [localhost:9000](http://localhost:9000) and complete the onboarding steps in the browser. | ||
Now, you are ready to use your local webKnossos instance. | ||
|
||
See the [wiki](https://github.com/scalableminds/webknossos/wiki/Try-setup) for instructions on updating this try setup. | ||
See the wiki for [instructions on updating](https://github.com/scalableminds/webknossos/wiki/Development-setup) this development setup. | ||
|
||
For non-localhost deployments, make sure to use the `webknossos-public` docker-compose service and set the `PUBLIC_URI` environment variable: | ||
|
||
```bash | ||
git clone -b master --depth=1 [email protected]:scalableminds/webknossos.git | ||
cd webknossos | ||
docker-compose pull webknossos | ||
PUBLIC_URI=http://example.org:9000 docker-compose up webknossos-public | ||
``` | ||
For non-localhost deployments, check out the [installation guide in the documentation](https://docs.webknossos.org/guides/installation). | ||
|
||
### Dependencies | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
# Getting Started | ||
|
||
Welcome to the webKnossos documentation. | ||
webKnossos is a tool for [exploring large-scale 3D image datasets](./tracing_ui.md), [creating versatile skeleton annotations](./skeleton_annotation.md) and [generating 3D training data for automated segmentations](./volume_annotation.md). | ||
webKnossos is a tool for [exploring large-scale 3D image datasets](./tracing_ui.md), [creating skeleton annotations](./skeleton_annotation.md) and [3D volume segmentations](./volume_annotation.md). | ||
Since it is a web-based tool, [collaboration](./sharing.md), [crowdsourcing](./tasks.md) and [publication](https://webknossos.org) is very easy. | ||
|
||
Feel free to [drop us a line](mailto:[email protected]) or [create a Pull Request](https://github.com/scalableminds/webknossos/pulls) if you have any suggestions for improving the documentation. | ||
|
@@ -80,66 +80,7 @@ Feel free to explore more features of webKnossos in this documentation. | |
* [Task and Project Management](./tasks.md) | ||
* [FAQ](./faq.md) | ||
|
||
If you need help with webKnossos, there is a [Community Support forum](https://support.webknososs.org) where members of the community and scalable minds are happy to answer your questions. | ||
[scalable minds](https://scalableminds.com) also offers commercial support, managed hosting and feature development services. | ||
[Please contact us](mailto:[email protected]) if you want to learn more. | ||
If you need help with webKnossos, feel free to contact us at [[email protected]](mailto:[email protected]). | ||
scalable minds also offers [commercial support, managed hosting and feature development services](https://webknossos.org/pricing). | ||
|
||
|
||
## webKnossos on Your Own Server | ||
webKnossos is open-source, so you can install it on your own server. | ||
We recommend a server with at least 4 CPU cores, 16 GB RAM, and as much disk space as you require for your datasets. | ||
As prerequisites, you need to install [Git](https://git-scm.com/), [Docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/) on your server. | ||
|
||
### Installation | ||
To get started, simply clone the Git repository and start the docker containers: | ||
|
||
```bash | ||
git clone https://github.com/scalableminds/webknossos.git | ||
cd webknossos | ||
|
||
docker-compose pull webknossos | ||
./start-docker.sh | ||
``` | ||
|
||
This will start an instance of webKnossos on http://localhost:9000/. | ||
Open the URL in your browser and configure your organization (see below). | ||
This will create a folder for your data at `webknossos/binaryData/<organization name>`. | ||
|
||
{% hint style='info' %} | ||
For production setups, we recommend more elaborate configurations with a public domain name and HTTPS support. | ||
[Please contact us](mailto:[email protected]) if you require any assistance with your production setup. | ||
{% endhint %} | ||
|
||
You may also install webKnossos without Docker. | ||
This may be useful if you intend to develop features for webKnossos. | ||
Please refer to the [Code Readme](../README.md) for details. | ||
|
||
### Onboarding | ||
When starting with webKnossos you first need to create an organization. | ||
An organization represents your lab in webKnossos and handles permissions for users and datasets. | ||
Choose a descriptive name for your organization, e.g. "The University of Springfield", "Simpsons Lab" or "Neuroscience Department". | ||
|
||
![Create your organization](./images/onboarding_organization.png) | ||
|
||
In the onboarding flow, you are asked to create a user account for yourself. | ||
This will be the first user of your organization which will automatically be activated and granted admin rights. | ||
Make sure to enter a correct email address. | ||
|
||
![Create your first user](./images/onboarding_user.png) | ||
|
||
|
||
### Your First Dataset | ||
Now that you've completed the onboarding, you need to import a dataset. | ||
Without any data, webKnossos is not fun. | ||
|
||
For small datasets (max. 1GB), you can use the upload functionality provide in the web interface. | ||
For larger datasets, we recommend the file system upload. | ||
Read more about the import functionality in the [Datasets guide](./datasets.md). | ||
|
||
If you do not have a compatible dataset available, you can use one of the [sample datasets](./datasets.md#sample-datasets) for testing purposes. | ||
|
||
By default, datasets are visible to all users in your organization. | ||
However, webKnossos includes fine-grained permissions to assign datasets to groups of users. | ||
|
||
![Upload your first dataset](./images/onboarding_data1.png) | ||
![Confirm the dataset properties](./images/onboarding_data2.png) | ||
[Read the installation tutorial](./installation.md), if you wish to install webKnossos on your own server. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,9 +45,8 @@ Try webKnossos on a large selection of published datasets: [https://webknossos.o | |
|
||
webKnossos was developed by [scalable minds](https://scalableminds.com) in collaboration with the [Max Planck Institute for Brain Research](https://brain.mpg.de/connectomics). | ||
|
||
If you need help with webKnossos, there is a [Community Support forum](https://support.webknososs.org) where members of the community and scalable minds are happy to answer your questions. | ||
[scalable minds](https://scalableminds.com) also offers commercial support, managed hosting and feature development services. | ||
[Please contact us](mailto:[email protected]) if you want to learn more. | ||
If you need help with webKnossos, feel free to contact us at [[email protected]](mailto:[email protected]). | ||
scalable minds also offers [commercial support, managed hosting and feature development services](https://webknossos.org/pricing). | ||
|
||
<!-- | ||
## Labs that use webKnossos | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,11 +13,11 @@ | |
* [Managing Users and Access Rights](./users.md) | ||
* [Managing Tasks and Projects](./tasks.md) | ||
* [Sharing](./sharing.md) | ||
* [Installation on your own Server](./installation.md) | ||
|
||
## Reference | ||
* [Supported Data Formats](./data_formats.md) | ||
* [Keyboard Shortcuts](./keyboard_shortcuts.md) | ||
* [FAQ](./faq.md) | ||
* [Backend REST API](./rest_api.md) | ||
* [Code Readme](../README.md) | ||
* [Changelog](../CHANGELOG.md) | ||
|
@@ -26,5 +26,6 @@ | |
* [Tooling](./tooling.md) | ||
|
||
## Getting Help | ||
* [Community Support](https://support.webknossos.org) | ||
* [FAQ](./faq.md) | ||
* [Email Support](mailto:[email protected]) | ||
* [Commercial Support](https://scalableminds.com) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
# Installation on your own Server | ||
|
||
webKnossos is open-source, so you can install it on your own server. | ||
We recommend a server with at least 4 CPU cores, 16 GB RAM, and as much disk space as you require for your datasets. | ||
|
||
As prerequisites, you need to install [Docker](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/) on your server. Docker 17+ and Docker Compose 1.18+ are required. | ||
|
||
This tutorial shows how to install webKnossos on a fresh VM which is available over the public internet and has a domain name (or a subdomain) already configured. | ||
webKnossos will then be available with over a secured connection (HTTPS) with automatic certificate management. | ||
|
||
```bash | ||
# Create a new folder for webknossos | ||
mkdir -p /opt/webknossos | ||
cd /opt/webknossos | ||
|
||
# Download the docker-compose.yml for hosting | ||
wget https://github.com/scalableminds/webknossos/raw/master/tools/hosting/docker-compose.yml | ||
|
||
# Create the binaryData folder which will contain all your datasets | ||
mkdir binaryData | ||
|
||
# The binaryData folder needs to be readable/writable by user id=1000,gid=1000 | ||
chown -R 1000:1000 binaryData | ||
|
||
# Start webKnossos and supply the PUBLIC_HOST and LETSENCRYPT_EMAIL variables | ||
# In addition to webKnossos, we also start an nginx proxy with automatic | ||
# SSL certificate management via letsencrypt | ||
# Note that PUBLIC_HOST does not include http:// or https:// prefixes | ||
PUBLIC_HOST=webknossos.example.com [email protected] \ | ||
docker-compose up webknossos nginx nginx-letsencrypt | ||
|
||
# Wait a couple of minutes for webKnossos to become available under your domain | ||
# e.g. https://webknossos.example.com | ||
# Set up your organization and admin account using the onboarding screens (see below) | ||
|
||
# After the initial run, you can start webKnossos in the background | ||
PUBLIC_HOST=webknossos.example.com [email protected] \ | ||
docker-compose up -d webknossos nginx nginx-letsencrypt | ||
|
||
# Congratulations! Your webKnossos is now up and running. | ||
|
||
# Stop everything | ||
docker-compose down | ||
``` | ||
|
||
{% hint style='info' %} | ||
This setup does not support regular backups or monitoring. | ||
Please check out [our paid service plans](https://webknossos.org/pricing) if you require any assistance with your production setup. | ||
{% endhint %} | ||
|
||
For installations on localhost, please refer to the [Code Readme](../README.md#docker). | ||
|
||
### Onboarding | ||
When starting with webKnossos you first need to create an organization. | ||
An organization represents your lab in webKnossos and handles permissions for users and datasets. | ||
Choose a descriptive name for your organization, e.g. "The University of Springfield", "Simpsons Lab" or "Neuroscience Department". | ||
|
||
![Create your organization](./images/onboarding_organization.png) | ||
|
||
In the onboarding flow, you are asked to create a user account for yourself. | ||
This will be the first user of your organization which will automatically be activated and granted admin rights. | ||
Make sure to enter a correct email address. | ||
|
||
![Create your first user](./images/onboarding_user.png) | ||
|
||
|
||
### Your First Dataset | ||
Without any data, webKnossos is not fun. | ||
Luckily, there are some sample datasets that you can download directly from the onboarding screens. | ||
Once you've completed the onboarding, you can also import your own datasets. | ||
|
||
For small datasets (max. 1GB), you can use the upload functionality provide in the web interface. | ||
For larger datasets, we recommend the file system upload. | ||
Read more about the import functionality in the [Datasets guide](./datasets.md). | ||
|
||
If you do not have a compatible dataset available, you can convert your own data using [the webKnossos cuber tool](./tooling.md#webknossos-cuber) or use one of the [sample datasets](./datasets.md#sample-datasets) for testing purposes. | ||
|
||
By default, datasets are visible to all users in your organization. | ||
However, webKnossos includes fine-grained permissions to assign datasets to groups of users. | ||
|
||
![Upload your first dataset](./images/onboarding_data1.png) | ||
![Confirm the dataset properties](./images/onboarding_data2.png) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.