mirror of
https://codeberg.org/icewind/haze.git
synced 2026-06-03 17:14:08 +02:00
add multibucket s3 option
This commit is contained in:
parent
bd709e0d53
commit
4ce3d45e64
6 changed files with 34 additions and 3 deletions
|
|
@ -26,7 +26,7 @@ RUN DEBIAN_FRONTEND=noninteractive ;\
|
||||||
pip3 install awscli-plugin-endpoint && \
|
pip3 install awscli-plugin-endpoint && \
|
||||||
wget https://phar.phpunit.de/phpunit-8.phar -O /usr/local/bin/phpunit.phar
|
wget https://phar.phpunit.de/phpunit-8.phar -O /usr/local/bin/phpunit.phar
|
||||||
|
|
||||||
ADD configs/autoconfig_mariadb.php configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/s3.php configs/swift.php configs/swiftv3.php configs/azure.php configs/config.php /root/
|
ADD configs/autoconfig_mariadb.php configs/autoconfig_mysql.php configs/autoconfig_pgsql.php configs/autoconfig_oci.php configs/s3.php configs/s3mb.php configs/swift.php configs/swiftv3.php configs/azure.php configs/config.php /root/
|
||||||
ADD configs/nginx-app.conf /etc/nginx/
|
ADD configs/nginx-app.conf /etc/nginx/
|
||||||
|
|
||||||
RUN mkdir --parent /var/log/cron
|
RUN mkdir --parent /var/log/cron
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
'objectstore' => [
|
'objectstore' => [
|
||||||
'class' => 'OC\Files\ObjectStore\S3',
|
'class' => 'OC\Files\ObjectStore\S3',
|
||||||
'arguments' => [
|
'arguments' => [
|
||||||
// replace with your bucket
|
|
||||||
'bucket' => 'nextcloud',
|
'bucket' => 'nextcloud',
|
||||||
'autocreate' => true,
|
'autocreate' => true,
|
||||||
'key' => 'dummy',
|
'key' => 'dummy',
|
||||||
|
|
|
||||||
15
images/haze/configs/s3mb.php
Normal file
15
images/haze/configs/s3mb.php
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
'objectstore_multibucket' => [
|
||||||
|
'class' => 'OC\Files\ObjectStore\S3',
|
||||||
|
'arguments' => [
|
||||||
|
'num_buckets' => 64,
|
||||||
|
'bucket' => 'nextcloud-',
|
||||||
|
'autocreate' => true,
|
||||||
|
'key' => 'dummy',
|
||||||
|
'secret' => 'dummyj',
|
||||||
|
'hostname' => 's3',
|
||||||
|
'port' => 4566,
|
||||||
|
'use_ssl' => false,
|
||||||
|
'use_path_style' => true,
|
||||||
|
'uploadPartSize' => 52428800,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
@ -45,6 +45,11 @@ then
|
||||||
sed -i '/\/\/PLACEHOLDER/ r /root/s3.php' /var/www/html/config/config.php
|
sed -i '/\/\/PLACEHOLDER/ r /root/s3.php' /var/www/html/config/config.php
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$S3MB" ]
|
||||||
|
then
|
||||||
|
sed -i '/\/\/PLACEHOLDER/ r /root/s3mb.php' /var/www/html/config/config.php
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$SWIFT" ]
|
if [ -n "$SWIFT" ]
|
||||||
then
|
then
|
||||||
sed -i '/\/\/PLACEHOLDER/ r /root/swift.php' /var/www/html/config/config.php
|
sed -i '/\/\/PLACEHOLDER/ r /root/swift.php' /var/www/html/config/config.php
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,7 @@ impl Service {
|
||||||
pub fn from_type(ty: &str) -> Option<&'static [Self]> {
|
pub fn from_type(ty: &str) -> Option<&'static [Self]> {
|
||||||
match ty {
|
match ty {
|
||||||
"s3" => Some(&[Service::ObjectStore(ObjectStore::S3)]),
|
"s3" => Some(&[Service::ObjectStore(ObjectStore::S3)]),
|
||||||
|
"s3mb" => Some(&[Service::ObjectStore(ObjectStore::S3mb)]),
|
||||||
"ldap" => Some(&[Service::LDAP(LDAP), Service::LDAPAdmin(LDAPAdmin)]),
|
"ldap" => Some(&[Service::LDAP(LDAP), Service::LDAPAdmin(LDAPAdmin)]),
|
||||||
"onlyoffice" => Some(&[Service::OnlyOffice(OnlyOffice)]),
|
"onlyoffice" => Some(&[Service::OnlyOffice(OnlyOffice)]),
|
||||||
"push" => Some(&[Service::Push(NotifyPush)]),
|
"push" => Some(&[Service::Push(NotifyPush)]),
|
||||||
|
|
|
||||||
|
|
@ -11,18 +11,27 @@ use maplit::hashmap;
|
||||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
#[derive(Debug, Clone, Eq, PartialEq)]
|
||||||
pub enum ObjectStore {
|
pub enum ObjectStore {
|
||||||
S3,
|
S3,
|
||||||
|
S3mb,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ObjectStore {
|
impl ObjectStore {
|
||||||
fn image(&self) -> &str {
|
fn image(&self) -> &str {
|
||||||
match self {
|
match self {
|
||||||
ObjectStore::S3 => "localstack/localstack:0.12.7",
|
ObjectStore::S3 => "localstack/localstack:0.12.7",
|
||||||
|
ObjectStore::S3mb => "localstack/localstack:0.12.7",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn self_env(&self) -> Vec<&str> {
|
fn self_env(&self) -> Vec<&str> {
|
||||||
match self {
|
match self {
|
||||||
ObjectStore::S3 => vec!["DEBUG=1", "SERVICES=s3"],
|
ObjectStore::S3 => vec!["DEBUG=1", "SERVICES=s3"],
|
||||||
|
ObjectStore::S3mb => vec!["DEBUG=1", "SERVICES=s3"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fn host_name(&self) -> &str {
|
||||||
|
match self {
|
||||||
|
ObjectStore::S3 => "s3",
|
||||||
|
ObjectStore::S3mb => "s3",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -32,12 +41,14 @@ impl ServiceTrait for ObjectStore {
|
||||||
fn name(&self) -> &str {
|
fn name(&self) -> &str {
|
||||||
match self {
|
match self {
|
||||||
ObjectStore::S3 => "s3",
|
ObjectStore::S3 => "s3",
|
||||||
|
ObjectStore::S3mb => "s3mb",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn env(&self) -> &[&str] {
|
fn env(&self) -> &[&str] {
|
||||||
match self {
|
match self {
|
||||||
ObjectStore::S3 => &["S3=1"],
|
ObjectStore::S3 => &["S3=1"],
|
||||||
|
ObjectStore::S3mb => &["S3MB=1"],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,7 +77,7 @@ impl ServiceTrait for ObjectStore {
|
||||||
networking_config: Some(NetworkingConfig {
|
networking_config: Some(NetworkingConfig {
|
||||||
endpoints_config: hashmap! {
|
endpoints_config: hashmap! {
|
||||||
network => EndpointSettings {
|
network => EndpointSettings {
|
||||||
aliases: Some(vec![self.name().to_string()]),
|
aliases: Some(vec![self.host_name().to_string()]),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue