Skip to content

Commit

Permalink
merge v0.12.0-1 release
Browse files Browse the repository at this point in the history
Merge v0.12.0-1 release
  • Loading branch information
mikkonie authored Oct 26, 2022
2 parents a8434b9 + aa3a309 commit 1b3fe9c
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 105 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# SODAR Docker Compose Changelog

## v0.11.3-1 (2020-08-30)
## v0.12.0-1 (2022-10-26)

- Release for SODAR v0.12.0
- Remove dedicated SODAR Taskflow image (#24)
- Update Taskflow-related environment variables (#24, #27)
- Fix duplicate lines in lets-encrypt override (#21)
- Set bridge network name manually (#26)
- Add SODAR config directories to volumes (#18)

## v0.11.3-1 (2022-08-30)

- First release of sodar-docker-compose, compatible with SODAR v0.11.3
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Use the provided `init.sh` script for creating the required volumes (directories
```bash
$ bash init.sh
$ ls volumes/
irods postgres redis traefik
irods postgres redis sodar traefik
```

Next, copy the example environment file `env.example` to `.env`.
Expand Down Expand Up @@ -128,7 +128,7 @@ For further instruction on using SODAR, please consult the [SODAR Manual](https:

This repository can also be used to run external SODAR components when developing the main `sodar-server` project.

In this case, the SODAR server itself, consisting of `sodar-web`, `sodar-celeryd-default` and `sodar-celerybeat` will be run locally on the development workstation, while the databases, iRODS, Davrods and SODAR Taskflow are run in the Docker Compose network.
In this case, the SODAR server itself, consisting of `sodar-web`, `sodar-celeryd-default` and `sodar-celerybeat` will be run locally on the development workstation, while the databases, iRODS and Davrods are run in the Docker Compose network.

For full instructions on how to set up the dev environment, see the development section in the [SODAR manual](https://sodar-server.readthedocs.io/en/latest/).

Expand Down
40 changes: 2 additions & 38 deletions docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,44 +85,6 @@ services:
source: ./volumes/redis/data
target: /data

sodar-taskflow:
image: ghcr.io/bihealth/sodar-taskflow:${SODAR_TASKFLOW_VERSION}
environment:
SODAR_TASKFLOW_SETTINGS: /usr/src/app/config/production.py
TASKFLOW_IRODS_HOST: ${IRODS_HOST}
TASKFLOW_IRODS_PORT: ${IRODS_PORT}
TASKFLOW_IRODS_USER: ${IRODS_USER}
TASKFLOW_IRODS_PASS: ${IRODS_PASS}
TASKFLOW_IRODS_ZONE: ${IRODS_ZONE}
TASKFLOW_IRODS_ROOT_PATH: ${IRODS_ROOT_PATH}
TASKFLOW_IRODS_ALLOW_CLEANUP: 1
TASKFLOW_SODAR_URL: http://host.docker.internal:8000
TASKFLOW_REDIS_URL: redis://redis:6379/2
TASKFLOW_SODAR_SECRET: ${TASKFLOW_SODAR_SECRET}
TASKFLOW_LOG_PATH: /var/log/sodar-taskflow.log
TASKFLOW_LOG_LEVEL: ${TASKFLOW_LOG_LEVEL}
TASKFLOW_DEBUG: ${TASKFLOW_DEBUG}
TASKFLOW_IRODS_ENV_OVERRIDE: ${TASKFLOW_IRODS_ENV_OVERRIDE}
TASKFLOW_IRODS_CERT_PATH: ${TASKFLOW_IRODS_CERT_PATH}
TASKFLOW_IRODS_TEST_HOST: irods-test
TASKFLOW_IRODS_TEST_PORT: 1247
ports:
- "5005:5005"
networks:
- sodar
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
depends_on:
- redis
volumes:
- type: bind
source: ./config/sodar
target: /etc/sodar
- type: bind # Traefik configuration for shared certs
source: ./config/traefik/tls
target: /etc/traefik/tls

irods:
<<: *default-irods
environment:
Expand Down Expand Up @@ -210,3 +172,5 @@ services:

networks:
sodar:
driver_opts:
com.docker.network.bridge.name: br-sodar-dev
1 change: 0 additions & 1 deletion docker-compose.override.yml.irods
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ services:
depends_on:
- postgres
- redis
- sodar-taskflow
irods:
image: ghcr.io/bihealth/irods-docker:${IRODS_VERSION}
ports:
Expand Down
2 changes: 0 additions & 2 deletions docker-compose.override.yml.lets-encrypt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ services:
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--entrypoints.web.http.redirections.entrypoint.permanent=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.le.acme.email=YOUR_EMAIL@YOUR_DOMAIN.com" # <-- ADJUST
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.le.acme.tlschallenge=true"
50 changes: 10 additions & 40 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,8 @@ x-sodar: &default-sodar
IRODS_WEBDAV_IGV_PROXY: ${SODAR_IRODS_WEBDAV_IGV_PROXY}
IRODS_SODAR_AUTH: ${IRODS_SODAR_AUTH}
BASICAUTH_REALM: ${SODAR_BASICAUTH_REALM}
TASKFLOW_BACKEND_HOST: http://sodar-taskflow
TASKFLOW_BACKEND_PORT: "5005"
TASKFLOW_SODAR_SECRET: ${TASKFLOW_SODAR_SECRET}
TASKFLOW_LOCK_RETRY_COUNT: ${TASKFLOW_LOCK_RETRY_COUNT}
TASKFLOW_LOCK_RETRY_INTERVAL: ${TASKFLOW_LOCK_RETRY_INTERVAL}
ENABLE_SENTRY: ${SODAR_ENABLE_SENTRY}
SENTRY_DSN: ${SODAR_SENTRY_DSN}

Expand Down Expand Up @@ -134,7 +133,6 @@ services:
depends_on:
- postgres
- redis
- sodar-taskflow
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.xforward.headers.customrequestheaders.X-Forwarded-Proto=https"
Expand All @@ -144,9 +142,12 @@ services:
- "traefik.http.services.sodar-web.loadbalancer.server.port=8080"
- "traefik.http.routers.sodar-web.tls=true"
volumes:
- type: bind
source: ./config/sodar
target: /etc/sodar
- type: bind # Template include dir
source: ./config/sodar/templates
target: /usr/src/app/sodar/templates/include
- type: bind # Samplesheets config dir
source: ./config/sodar/samplesheets
target: /usr/src/app/samplesheets/config
- type: bind # Traefik configuration for shared certs
source: ./config/traefik/tls
target: /etc/traefik/tls
Expand Down Expand Up @@ -177,38 +178,7 @@ services:
source: ./config/sodar
target: /etc/sodar

sodar-taskflow:
image: ghcr.io/bihealth/sodar-taskflow:${SODAR_TASKFLOW_VERSION}
environment:
SODAR_TASKFLOW_SETTINGS: /usr/src/app/config/production.py
TASKFLOW_IRODS_HOST: ${IRODS_HOST}
TASKFLOW_IRODS_PORT: ${IRODS_PORT}
TASKFLOW_IRODS_USER: ${IRODS_USER}
TASKFLOW_IRODS_PASS: ${IRODS_PASS}
TASKFLOW_IRODS_ZONE: ${IRODS_ZONE}
TASKFLOW_IRODS_ROOT_PATH: ${IRODS_ROOT_PATH}
TASKFLOW_IRODS_ALLOW_CLEANUP: 0
TASKFLOW_SODAR_URL: http://sodar-web:8080
TASKFLOW_REDIS_URL: redis://redis:6379/2
TASKFLOW_SODAR_SECRET: ${TASKFLOW_SODAR_SECRET}
TASKFLOW_LOG_PATH: /var/log/sodar-taskflow.log
TASKFLOW_LOG_LEVEL: ${TASKFLOW_LOG_LEVEL}
TASKFLOW_DEBUG: ${TASKFLOW_DEBUG}
TASKFLOW_IRODS_ENV_OVERRIDE: ${TASKFLOW_IRODS_ENV_OVERRIDE}
TASKFLOW_IRODS_CERT_PATH: ${TASKFLOW_IRODS_CERT_PATH}
networks:
- sodar
restart: unless-stopped
depends_on:
- postgres
- redis
volumes:
- type: bind
source: ./config/sodar
target: /etc/sodar
- type: bind # Traefik configuration for shared certs
source: ./config/traefik/tls
target: /etc/traefik/tls

networks:
sodar:
driver_opts:
com.docker.network.bridge.name: br-sodar
11 changes: 2 additions & 9 deletions env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
# Image versions
# NOTE: For the development build, use "dev-0" for SODAR
SODAR_SERVER_VERSION=0.11.3-0
SODAR_TASKFLOW_VERSION=0.6.2-0
IRODS_VERSION=4.2.11-1
SSSD_VERSION=1.16.5-10

Expand Down Expand Up @@ -129,14 +128,8 @@ SODAR_BASICAUTH_REALM="Please log in with your SODAR user name and password."
#
# SODAR Taskflow settings
#
# Taskflow iRODS environment overrides in format "key=val,key2=val"
TASKFLOW_IRODS_ENV_OVERRIDE=
# iRODS cert path for Taskflow
TASKFLOW_IRODS_CERT_PATH=/etc/traefik/tls/server.crt
# Shared secret with SODAR Taskflow
TASKFLOW_SODAR_SECRET=not-so-important-with-docker
TASKFLOW_LOG_LEVEL=WARNING
TASKFLOW_DEBUG=0
TASKFLOW_LOCK_RETRY_COUNT=2
TASKFLOW_LOCK_RETRY_INTERVAL=3

#
# WebDAV support
Expand Down
11 changes: 2 additions & 9 deletions env.example.dev
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# and their settings must be configured in the sodar-server .env file.

# Image versions
SODAR_TASKFLOW_VERSION=dev-0
IRODS_VERSION=4.2.11-1
SSSD_VERSION=1.16.5-10

Expand Down Expand Up @@ -55,14 +54,8 @@ SODAR_BASICAUTH_REALM="Please log in with your SODAR user name and password."
#
# SODAR Taskflow settings
#
# Taskflow iRODS environment overrides in format "key=val,key2=val"
TASKFLOW_IRODS_ENV_OVERRIDE=
# iRODS cert path for Taskflow
TASKFLOW_IRODS_CERT_PATH=/etc/traefik/tls/server.crt
# Shared secret with SODAR Taskflow
TASKFLOW_SODAR_SECRET=not-so-important-with-docker
TASKFLOW_LOG_LEVEL=DEBUG
TASKFLOW_DEBUG=1
TASKFLOW_LOCK_RETRY_COUNT=2
TASKFLOW_LOCK_RETRY_INTERVAL=3

#
# WebDAV support
Expand Down
2 changes: 1 addition & 1 deletion init.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash

mkdir -p volumes/{postgres/data,redis/data,traefik/letsencrypt,irods/{log,vault,vault-test}} \
config/irods/{etc,etc-test} config/davrods/theme config/sodar
config/irods/{etc,etc-test} config/davrods/theme config/sodar/{samplesheets,templates}
chown 1000:1000 volumes/irods/*
3 changes: 2 additions & 1 deletion run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ docker-compose -f docker-compose.yml \
-f docker-compose.override.yml.irods \
-f docker-compose.override.yml.davrods \
-f docker-compose.override.yml.provided-cert \
up
up \
--remove-orphans
3 changes: 2 additions & 1 deletion run_dev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
# You can also use the .sssd override if you need to develop with LDAP.
docker-compose -f docker-compose.dev.yml \
-f docker-compose.override.yml.provided-cert \
up
up \
--remove-orphans

0 comments on commit 1b3fe9c

Please sign in to comment.