diff --git a/deployments/examples/ocis_full/.env b/deployments/examples/ocis_full/.env index d1ce48ba1..edf022c23 100644 --- a/deployments/examples/ocis_full/.env +++ b/deployments/examples/ocis_full/.env @@ -55,6 +55,32 @@ LOG_LEVEL= # Set this to true to make the log human readable # LOG_PRETTY=true +# S3 Storage configuration +# +# - optional +# +# Infinite Scale supports S3 storage as primary storage. +# Per default, S3 storage is disabled and we use the local filesystem. +# To enable S3 storage, uncomment the following lines and configure the S3 storage. +# The leading colon is required to enable the service. +# S3NG=:s3ng.yml +# Configure the S3 storage endpoint. Defaults to "http://minio:9000" for testing purposes. +S3NG_ENDPOINT= +# S3 region. Defaults to "default". +S3NG_REGION= +# S3 access key. Defaults to "ocis" +S3NG_ACCESS_KEY= +# S3 secret. Defaults to "ocis-secret-key" +S3NG_SECRET_KEY= +# S3 bucket. Defaults to "ocis" +S3NG_BUCKET= +# Add local minio S3 storage to the docker-compose file. +# This is needed for testing purposes. +# The leading colon is required to enable the service. +# S3NG_MINIO=:minio.yml +# Minio domain. Defaults to "minio.owncloud.test". +MINIO_DOMAIN= + # Define SMPT settings if you would like to send Infinite Scale email notifications. # For more details see: # https://doc.owncloud.com/ocis/latest/deployment/services/s-list/notifications.html @@ -79,7 +105,7 @@ SMTP_INSECURE= ### Apache Tika Content Analysis Toolkit ### # Tika (search) is enabled by default, comment if not required. -# the leading colon is required to enable the service. +# The leading colon is required to enable the service. TIKA=:tika.yml # Set the desired docker image tag or digest. # Defaults to "latest" @@ -87,7 +113,7 @@ TIKA_IMAGE= ### Collabora Settings ### # Collabora web office is default enabled, comment if not required. -# the leading colon is required to enable the service. +# The leading colon is required to enable the service. COLLABORA=:collabora.yml # Domain of Collabora, where you can find the frontend. # Defaults to "collabora.owncloud.test" @@ -112,10 +138,11 @@ COLLABORA_ADMIN_PASSWORD= ## Debugging - Monitoring ## # Please see documentation at: https://owncloud.dev/ocis/deployment/monitoring-tracing/ # Only enable if you have Collabora AND OnlyOffice enabled. +# The leading colon is required to enable the service. # MONITORING=:monitoring.yml ## Uppy Companion Settings ## -# the leading colon is required to enable the service. +# The leading colon is required to enable the service. CLOUD_IMPORTER=:cloudimporter.yml ## The docker image to be used for uppy companion. # owncloud has built a container with public link import support. @@ -128,14 +155,14 @@ COMPANION_ONEDRIVE_KEY= COMPANION_ONEDRIVE_SECRET= ## Virusscanner Settings ## -# the leading colon is required to enable the service. +# The leading colon is required to enable the service. # CLAMAV=:clamav.yml # Image version of the ClamAV container. # Defaults to "latest" CLAMAV_DOCKER_TAG= ## OnlyOffice Settings ## -# the leading colon is required to enable the service.. +# The leading colon is required to enable the service. # ONLYOFFICE=:onlyoffice.yml # Domain for OnlyOffice. Defaults to "onlyoffice.owncloud.test". ONLYOFFICE_DOMAIN= @@ -145,6 +172,7 @@ WOPISERVER_ONLYOFFICE_DOMAIN= ## Inbucket Settings ## # Inbucket is a mail catcher tool for testing purposes. # DO NOT use in Production. +# The leading colon is required to enable the service. # INBUCKET=:inbucket.yml # email server (in this case inbucket acts as mail catcher). # Domain for Inbucket. Defaults to "mail.owncloud.test". @@ -154,4 +182,4 @@ INBUCKET_DOMAIN= # This MUST be the last line as it assembles the supplemental compose files to be used. # ALL supplemental configs must be added here, whether commented or not. # Each var must either be empty or contain :path/file.yml -COMPOSE_FILE=docker-compose.yml${OCIS:-}${TIKA:-}${WOPISERVER:-}${COLLABORA:-}${MONITORING:-}${CLOUD_IMPORTER:-}${CLAMAV:-}${ONLYOFFICE:-}${INBUCKET:-} +COMPOSE_FILE=docker-compose.yml${OCIS:-}${TIKA:-}${S3NG:-}${S3NG_MINIO:-}${COLLABORA:-}${MONITORING:-}${CLOUD_IMPORTER:-}${CLAMAV:-}${ONLYOFFICE:-}${INBUCKET:-} diff --git a/deployments/examples/ocis_full/minio.yml b/deployments/examples/ocis_full/minio.yml new file mode 100644 index 000000000..1de9b63a3 --- /dev/null +++ b/deployments/examples/ocis_full/minio.yml @@ -0,0 +1,31 @@ +--- +services: + minio: + image: minio/minio:latest + networks: + ocis-net: + entrypoint: + - /bin/sh + command: + [ + "-c", + "mkdir -p /data/${S3NG_BUCKET:-ocis-bucket} && minio server --console-address ':9001' /data", + ] + volumes: + - minio-data:/data + environment: + MINIO_ACCESS_KEY: ${S3NG_ACCESS_KEY:-ocis} + MINIO_SECRET_KEY: ${S3NG_SECRET_KEY:-ocis-secret-key} + labels: + - "traefik.enable=true" + - "traefik.http.routers.minio.entrypoints=https" + - "traefik.http.routers.minio.rule=Host(`${MINIO_DOMAIN:-minio.owncloud.test}`)" + - "traefik.http.routers.minio.tls.certresolver=http" + - "traefik.http.routers.minio.service=minio" + - "traefik.http.services.minio.loadbalancer.server.port=9001" + logging: + driver: "local" + restart: always + +volumes: + minio-data: diff --git a/deployments/examples/ocis_full/s3ng.yml b/deployments/examples/ocis_full/s3ng.yml new file mode 100644 index 000000000..914ba9e45 --- /dev/null +++ b/deployments/examples/ocis_full/s3ng.yml @@ -0,0 +1,13 @@ +--- +services: + ocis: + environment: + # activate s3ng storage driver + STORAGE_USERS_DRIVER: s3ng + STORAGE_SYSTEM_DRIVER: ocis # keep system data on ocis storage since this are only small files atm + # s3ng specific settings + STORAGE_USERS_S3NG_ENDPOINT: ${S3NG_ENDPOINT:-http://minio:9000} + STORAGE_USERS_S3NG_REGION: ${S3NG_REGION:-default} + STORAGE_USERS_S3NG_ACCESS_KEY: ${S3NG_ACCESS_KEY:-ocis} + STORAGE_USERS_S3NG_SECRET_KEY: ${S3NG_SECRET_KEY:-ocis-secret-key} + STORAGE_USERS_S3NG_BUCKET: ${S3NG_BUCKET:-ocis-bucket}