contêiner de equipe
Team-container é uma coleção de contêineres que configuram seu próprio servidor de colaboração. Esta configuração deve ser usada em conjunto com um artigo de revista na revista c't. Consulte (https://www.heise.de/select/ct/2020/9/2007712573850503640). O artigo está protegido por acesso pago, mas a configuração funciona sem o artigo.
Ferramentas nesta coleção
- Roteador Træfik
- Próxima nuvem
- Foguete.Chat
- Encontro Jitsi
- Slides abertos
- Plik
Objetivo, Pré-requisitos e Arquitetura
O objetivo é fornecer um servidor de colaboração privado para uma equipe de pequeno e médio porte que forneça serviços essenciais e, ao mesmo tempo, deixe você no controle de onde os dados são armazenados. Os serviços são:
- Nextcloud para compartilhamento de documentos e calendários
- Rocket.Chat para bate-papo de texto bem organizado baseado em navegador. Aplicativos para plataformas móveis estão disponíveis.
- Jitsi Meet para videoconferência baseada em navegador. Aplicativos para plataformas móveis estão disponíveis.
- Openslides para gerenciamento de assembleias de clubes e organizações
- Plik é um sistema de upload de arquivos temporários escalável e amigável (como o wetransfer).
Tudo que você precisa é
- Um servidor Linux, de preferência rodando Ubuntu 18.04 LTS ou outro derivado do Debian GNU/Linux. Há uma lista de compatibilidade para alguns provedores de hospedagem na wiki.
- Um nome de domínio, por exemplo, example.org e quatro subdomínios apontando para o seu servidor, ou seja, www.example.org, cloud.example.org, chat.example.org e video.example.org
- experiência básica com o terminal linux
Não é necessário conhecimento de tecnologia de contêiner ou outros tópicos típicos de administração do Linux.
O primeiro contêiner ((Kubernetes, Rancher, helm) que você instala contém o Traefik. O Traefik roteia o tráfego de entrada para o servidor web nginx ou para um dos outros três contêineres que você instalará posteriormente. Cada um desses contêineres executa uma instância do Nextloud, Rocket. Chat ou Jitsi Meet A decisão de roteamento é baseada no nome do servidor especificado ao configurar os contêineres.
Roteiro / Contribuir
Muitas melhorias estão em nossa agenda. Dê uma olhada no quadro do projeto no GitHub e fique à vontade para criar um problema ou PR!
Começando
- prepare um servidor com uma versão atual do servidor Linux (testado com Ubuntu Server 18.04 LTS)
- configure quatro entradas de DNS para o seu servidor (por exemplo, www.example.org, cloud.example.org, chat.example.org, video.example.org)
- clone este repositório:
git clone https://github.com/ct-open-source/team-container
- navegue até a pasta team-container
- execute
sudo install.sh
- abra "valores-setup.yaml". Digite seu endereço de e-mail, defina produção como true, digite o nome do servidor principal (por exemplo, www) e o nome do domínio.
- instale o Traefik, o roteador:
helm install setup team-setup --values values-setup.yaml
- espere alguns minutos - até que https://yourserver.example.com retorne a página de boas-vindas do nginx usando um certificado Let's Encrypt TLS válido. Traefik e nginx agora estão funcionais.
Instale Nextcloud
- abra "valores-nextcloud.yaml". Digite o nome do servidor (por exemplo, nuvem), o nome do domínio (por exemplo, exemplo.org), um nome para o administrador Nextcloud e a senha inicial do administrador Nextcloud.
- instalar Nextcloud:
helm install nextcloud team-nextcloud --values values-nextcloud.yaml
- Após alguns minutos, seu próprio servidor Nextcloud estará instalado e funcionando em https://cloud.example.org. Você pode fazer login como administrador com a senha fornecida na última etapa. Prossiga e adicione usuários regulares. Ou
Instale Rocket.Chat
- abra "valores-chat.yaml". Digite o nome do servidor (por exemplo, chat), o nome do domínio (por exemplo, exemplo.org), um nome para o administrador do Rocket.Chat, a senha inicial do administrador do Rocket.Chat e seu endereço de e-mail.
- instalar Rocket.Chat:
helm install chat team-chat --values values-chat.yaml
- depois de alguns minutos, seu próprio servidor Rocket.Chat estará instalado e funcionando em https://chat.example.org. Você pode fazer login como administrador com a senha fornecida na última etapa. Prossiga e adicione usuários regulares.
Instale o Jitsi Meet
- abra "valores-video.yaml". Digite o nome do servidor (por exemplo, vídeo) e o nome do domínio (por exemplo, exemplo.org)
- instale o Jitsi Meet:
helm install video team-video --values values-video.yaml
- depois de alguns minutos, seu próprio servidor de chat de vídeo Jitsi Meet estará instalado e funcionando em https://video.example.org.
- consulte os sites do projeto mencionados acima para obter ajuda sobre como usar os serviços.
Instale o Openslides (software para montagens)
- abra "valores-openslides.yaml". Digite o nome do servidor (por exemplo, clube) e o nome do domínio (por exemplo, exemplo.org)
- instalar Openslides:
helm install openslides team-openslides --values values-openslides.yaml
- depois de alguns minutos, seu próprio servidor Openslides estará instalado e funcionando em https://club.example.org.
- consulte os sites do projeto mencionados acima para obter ajuda sobre como usar os serviços.
Tarefas/Problemas conhecidos
- não funciona com IPv6 (problemas com geração de certificados)