O Amazon Simple Storage Service (Amazon S3) é um serviço da AWS para armazenamento de dados com escalabilidade e no formato pague apenas pelo que usar, não é necessário alocar um espaço e deixar ficar com área ociosa.
O custo é relativamente baixo e existem outras opção que implementam o mesmo serviço dessa forma é possível usar esse mesmo conteúdo se você usar o Wasabi ou min.io como exemplos.
Vamos lá.
O OTOBO usa três formas para armazenar anexos.
StorageFS
DB ( Banco de dados, os anexos ficam no banco de dados)
FS ( File System, os anexos ficar em pastas no Sistema Operacional da Aplicação)
S3 (Amazon Simple Storage, Os anexos ficam armazenados em um serviço)
Depois falaremos sobre vantagens e desvantagens de cada uma das opções, mas basicamente a escolha do serviço impacta na gestão da aplicação, backup e performance.
Agora vamos habilitar isso no OTOBO e migrar os anexos para lá.
Configurações necessárias
Ticket::Article::Backend::MIMEBase::ArticleStorage
Você deve escolher o destino dos anexos, nesse nosso caso será:
Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageS3
Habilite esse configuração durante a migração ou caso queira usar mais de um formato ao mesmo tempo. Sim, você pode deixar alguns anexos no S3, outros no File System e outros no banco de dados.
Ticket::Article::Backend::MIMEBase::CheckAllStorageBackends

Agora implemente esses configurações de vamos aos passos seguintes.
Agora no Config.pm insira o trecho abaixo.
if ( $ENV{OTOBO_SYNC_WITH_S3} ) {
$Self->{'Storage::S3::Active'} = 1;
$Self->{'Storage::S3::Scheme'} = 'https';
$Self->{'Storage::S3::Host'} = 'bucketname.s3.us-east-1.amazonaws.com';
$Self->{'Storage::S3::Region'} = 'us-east-1';
$Self->{'Storage::S3::Bucket'} = 'otobo-storage';
$Self->{'Storage::S3::HomePrefix'} = 'OTOBO';
$Self->{'Storage::S3::AccessKey'} = 'KEY';
$Self->{'Storage::S3::SecretKey'} = 'SECRET';
$Self->{'Storage::S3::MetadataPrefix'} = 'x-amz-meta-';
$Self->{'Storage::S3::Delimiter'} = '/';
}
Não se esqueça de mudar de acordo com duas informações o Host, Bucket, AccessKey e SecretKey.
Na hora de subir o compose o .env precisa estar com o parâmetro ajustado para 1
OTOBO_SYNC_WITH_S3=1
Agora é só migrar com o comando
/opt/otobo/bin/otobo.Console.pl Admin::Article::StorageSwitch --target ArticleStorageS3
Esse ainda é um recurso novo, mas vai facilitar muito a retenção e backup, além da administração.
No S3 os arquivos ficam dessa forma

Esse recurso esta disponível na versão 10.1. ainda esta no beta2, mas devemos ter a versão estável nos próximos dias 🙂