{"id":15674480,"url":"https://github.com/hadim/docker-omero","last_synced_at":"2025-05-06T23:17:41.290Z","repository":{"id":23360499,"uuid":"26721588","full_name":"hadim/docker-omero","owner":"hadim","description":"Set of Dockerfile to build a ready-to-use OMERO server","archived":false,"fork":false,"pushed_at":"2017-10-05T20:16:03.000Z","size":240,"stargazers_count":15,"open_issues_count":3,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-06T23:17:35.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hadim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-16T17:22:37.000Z","updated_at":"2023-10-26T03:53:22.000Z","dependencies_parsed_at":"2022-08-21T22:50:50.956Z","dependency_job_id":null,"html_url":"https://github.com/hadim/docker-omero","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadim%2Fdocker-omero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadim%2Fdocker-omero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadim%2Fdocker-omero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadim%2Fdocker-omero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hadim","download_url":"https://codeload.github.com/hadim/docker-omero/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252782835,"owners_count":21803410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T15:45:31.525Z","updated_at":"2025-05-06T23:17:41.273Z","avatar_url":"https://github.com/hadim.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-omero\n\nSet of `Dockerfile` to setup an OMERO.server. This project aims to be used in production.\n\n_But the main purpose of this project is to make you love running OMERO.server :-)_\n\n## How to start your OMERO.server\n\n### Basics\n\nYou will need to install `docker \u003e 1.13.0` and `docker-compose \u003e= 1.11.0` (check with `docker version`).\n\nTo start OMERO, simply do :\n\n```sh\nmkdir omero/ \u0026\u0026 cd omero/\nmkdir omero-data/\nmkdir docker-omero/ \u0026\u0026 cd docker-omero/\nwget https://raw.githubusercontent.com/hadim/docker-omero/master/docker-compose.yml\ndocker-compose up  # You can use the -d option to run in the background.\n```\n\nIt will launch all services : PostgreSQL server, OMERO.server and OMERO.web.\n\nWait a minute so the server can initialize.\n\nTo connect to the server with the [OMERO Insight client](http://downloads.openmicroscopy.org/latest/omero5) use `localhost` as a server address and `4064` (by default) for the port. You also need to enable the encrypted mode by clicking on the locker image on the login window.\n\nTo connect to the server with the OMERO.web client, go to [https://localhost](https://localhost).\n\nDefault admin credentials are `root` and `password`. Don't forget to change the password !\n\nBy default `../omero-data` will be used as OMERO data directoy.\n\n\n### Parameters\n\nYou can use environment variables to configure OMERO :\n\n```sh\n#export OMERO_WEB_PORT=80\n#export OMERO_WEB_PORT_SSL=443\n#export OMERO_SERVER_PORT=4064\n#export OMERO_WEB_PORT_DEVELOPMENT=4080\n#export OMERO_DATA_DIR=../omero-data\n#export OMERO_WEB_USE_SSL=yes\n#export OMERO_WEB_DEVELOPMENT=no\n\nmkdir -p $OMERO_DATA_DIR\n```\n\n- `OMERO_WEB_PORT` (default=80) : port used to expose OMERO.web server in unsecure mode (`http`).\n\n- `OMERO_WEB_PORT_SSL` (default=443) : port used to expose OMERO.web server in secure mode (`https`).\n\n- `OMERO_SERVER_PORT` (default=4064) : port used to expose OMERO.server. This port needs to be used when using the desktop client (OMERO Insight client).\n\n- `OMERO_WEB_PORT_DEVELOPMENT` (default=4080) : port used to expose OMERO.web server in development mode.\n\n- `OMERO_DATA_DIR` (default=~/data_omero) : data directory path on host used to store all data relative to OMERO.server.\n\n- `OMERO_WEB_USE_SSL` (default=yes) : wether to launch OMERO.web with SSL mode (`https`), certificates are generated automatically or can be customized in `$OMERO_DATA_DIR/web_certs`.\n\n- `OMERO_WEB_DEVELOPMENT` (default=no) : launch OMERO.web in development mode.\n\n### Add custom applications to a server in production\n\nCreate a folder in `$OMERO_DATA_DIR/omero_web_apps`. Inside write a file called `deploy.sh` which will be called before launching the OMERO.web server. For example to install the figure application (http://figure.openmicroscopy.org), put this in `deploy.sh` :\n\n```sh\nexport PYTHONPATH=$OMERO_WEB_DEVELOPMENT_APPS:$PYTHONPATH\n\npip install reportlab markdown\n./bin/omero config append omero.web.apps '\"figure\"'\n./bin/omero config append omero.web.ui.top_links '[\"Figure\", \"figure_index\", {\"title\": \"Open Figure in new tab\", \"target\": \"figure\"}]'\n```\n\nDon't forget to download the application to `$OMERO_DATA_DIR/omero_web_apps`.\n\n### Add custom configuration to a server in production\n\nEdit or create the file `$OMERO_DATA_DIR/config.sh`. If it exists, it will be called before the server startup.\n\n```sh\ncat $OMERO_DATA_DIR/config.sh\n./bin/omero config set omero.client.scripts_to_ignore '[]'\n```\n\n### Add custom scripts to a server in production\n\nAll scripts inside `$OMERO_DATA_DIR/omero_scripts` will be available inside your OMERO.server. Technically `$OMERO_DATA_DIR/omero_scripts` is soft linked to `lib/scripts/custom_scripts`.\n\n### Advanced usage\n\nYou can launch only OMERO.server (and the database server of course) with this command :\n\n```sh\ndocker-compose run --rm --name omero-server omero-server\n# or use\nmake runserver\n```\n\nIf you want to launch OMERO.web in development mode you can use the following commands :\n\n```sh\nexport OMERO_WEB_DEVELOPMENT=yes\n\ndocker-compose run --rm --name omero-web omero-web\n# or use\nmake runweb\n```\n\nYou can enter in an already running container (OMERO.server or OMERO.web) with the following commands :\n\n```sh\n# For OMERO.server\ndocker exec -ti omero-server bash\n# or use\nmake shellserver\n\n# and for OMERO.web\ndocker exec -ti omero-web bash\n# or use\nmake shellweb\n```\n\n## Running OMERO.web in development mode\n\n### Developing an OMERO.web application\n\n```sh\n# Get OMERO.web shell and init the server\nmake runwebdev\nsu omero\nbash /start_omero_web.sh\ncd OMERO.server/\n./bin/omero web start\n```\n\nYou should now be able to connect to the dev server here `http://127.0.0.1:4080`.\n\nApplications can be stored in `/data/omero_web_apps` (`$OMERO_DATA_DIR/omero_web_apps` on host).\n\nOpen a new shell.\n\n```sh\nmake shellweb\nsu omero\ncd OMERO.server/\n\n./bin/omero config append omero.web.apps '\"webtest\"'\n./bin/omero config append omero.web.ui.right_plugins '[\"ROIs\", \"webtest/webclient_plugins/right_plugin.rois.js.html\", \"image_roi_tab\"]'\n./bin/omero config append omero.web.ui.center_plugins '[\"Split View\", \"webtest/webclient_plugins/center_plugin.splitview.js.html\", \"split_view_panel\"]'\n```\n\nIn the first shell use `Ctrl+C` to stop the dev server.\n\n```sh\nexport PYTHONPATH=$OMERO_WEB_DEVELOPMENT_APPS:$PYTHONPATH\n./bin/omero web start\n```\n\nYour application should appear at http://localhost:4080/webtest.\n\n### Developing on OMERO.web itself\n\nComing soon !\n\n## Log\n\n`var` directory (which contains logs) is symlinked to `/data/omero_var` (`$OMERO_DATA_DIR/omero_var` on host).\n\n```sh\n$ make datash\n$ ls omero_var/log/\nBlitz-0.log        FileServer.log     MonitorServer.log  Processor-0.log    master.err\nDropBox.log        Indexer-0.log      PixelData-0.log    Tables-0.log       master.out\n```\n\n## Backup and restore\n\nYou need to design a backup strategy according to your needs. All data needed to restart a server are located inside `OMERO_DATA_DIR` which is `../omero-data` by default.\n\nThe server will automatìcally use data inside `OMERO_DATA_DIR` on startup.\n\n## About the images\n\n**omero-base**: based on `ubuntu:16.04`, it contains omego and install OMERO.server.\n\n**omero-data**: volume container based on `busybox`. `/data` is defined as a volume.\n\n**omero-db**: based on `postgres:9.4`. It contains only few modifications from the original image.\n\n**omero-server**: based on `omero-base`, it runs OMERO.server.\n\n**omero-web**: based on `omero-base`, it runs OMERO.web.\n\nSee this schema for more details about how things are connected:\n\n![Schema of docker-omero](schema.png)\n\n## Authors\n\nHadrien Mary \u003chadrien.mary@gmail.com\u003e\n\n## License\n\nMIT License. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadim%2Fdocker-omero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhadim%2Fdocker-omero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadim%2Fdocker-omero/lists"}