feat: add S3 and minio server options

This commit is contained in:
Michael Barz
2024-06-24 15:47:43 +02:00
parent ed33a36125
commit 60935965c7
3 changed files with 78 additions and 6 deletions

View File

@@ -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:-}

View File

@@ -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:

View File

@@ -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}