De Aprendiz à Mago dos Contêiners

Conteinerização de aplicações e banco de dados sem um pingo de esforço.
gratuito
open-source
self-hosted

Quão sem esforço?

Deploy de Aplicação

SEM Infinite OS

1. Pesquise o contêiner oficial do seu aplicativo;

2. Escolha um banco de dados e nome de usuário e gere uma senha;

3. Escreva ou copie um compose.yaml (ou Dockerfile) para implantar:
- Aplicação;
- Banco de Dados;
- Proxy Reverso;
- Certbot.

4. Certifique-se de que seu arquivo de composição esteja:
- Vinculando o banco de dados ao contêiner do aplicativo;
- Usando depends_on na ordem correta;
- Passando as variáveis de ambiente corretas, incluindo os segredos;
- Definindo as portas e pontos de entrada corretos;
- Criando um volume compartilhado entre o proxy reverso e o certbot;

5. Configure o proxy reverso NGINX com seu domínio. Crie a localização raiz para proxyar as solicitações para o contêiner do aplicativo na porta correta;

6. Execute os contêineres e verifique se o SSL será emitido. Com um pouco de sorte, você não precisará lidar com erros de build ou execução.

COM Infinite OS

1. Execute o Infinite OS com docker, podman ou sua plataforma de gerenciamento de contêiner preferida, exemplo:
docker run --rm --name myapp-container \
--env 'PRIMARY_VHOST=myapp.net' \
-p 8080:80 -p 8443:443 -p 1618:1618 \
-it docker.io/goinfinite/os:latest
2. Acesse o painel pelo navegador em https://localhost:1618/ e use-o para fazer o deploy de seu app ou serviço favorito. Pronto!

Gerencie Banco de Dados

SEM Infinite OS

1. Copie as credenciais de root do banco de dados para a área de transferência;

2. Edite o compose.yaml (ou Dockerfile) para implantar um contêiner de interface de gerenciamento de banco de dados, como Adminer, phpMyAdmin, pgAdmin, RedisInsight, etc;

3. Certifique-se de que o novo contêiner esteja vinculado ao banco de dados, a porta não esteja sendo usada e passe os segredos como variáveis de ambiente, se possível ou necessário;

4. Configure um host virtual ou sub-diretório no proxy reverso para "proxyar" as solicitações para o contêiner de interface de gerenciamento de banco de dados;

5. Limite essas interfaces para o seu endereço IP específico e garanta que você sempre acesse via HTTPS;

6. Acesse a interface e cole as credenciais do banco de dados, se necessário, para fazer login.

COM Infinite OS

1. Acesse o painel e vá para a página de Bancos de Dados:
Nenhuma configuração adicional é necessária.

Gerencie Arquivos

SEM Infinite OS

Não há uma maneira direta de gerenciar arquivos dentro de um contêiner, mas existem algumas opções:

1. Use um IDE, como Visual Studio com a extensão Docker, e navegue por ele através da barra lateral. Você não poderá visualizar os metadados do arquivo, como propriedade, permissões, etc., mas poderá acessar seu conteúdo. Para fazer upload, compactar e descompactar arquivos, você precisará usar o Terminal/SSH e portanto instalar no contêiner o OpenSSH;

2. Use um cliente SFTP, como FileZilla. Isso permitirá que você liste arquivos com metadados, faça download, upload e modifique arquivos, mas não poderá compactar ou descompactar arquivos;

3. Use um Terminal para se conectar ao "/bin/bash" no contêiner - assumindo que ele tenha Bash instalado - e navegue por meio de comandos como faria em uma conexão SSH;

4. Desde que você tenha uma interface gráfica na máquina host ou VNC, monte um volume no contêiner (preferencialmente antes do deploy) para que você possa gerenciar os arquivos usados pelo contêiner na interface host;

5. Implante um contêiner de um aplicativo de gerenciamento de arquivos, como FileRun, e crie volumes compartilhados entre os contêineres para que você possa gerenciar os arquivos visualmente. Certifique-se de que você não expõe esse aplicativo ao público, sempre acesse via HTTPS e use credenciais fortes.

COM Infinite OS

1. Acesse o painel e vá para a página do Gerenciador de Arquivos:
O Gerenciador de Arquivos permite que você gerencie completamente os arquivos, incluindo editar seu conteúdo, permissões e propriedades.

Gerencie Serviços

SEM Infinite OS

Gerenciar serviços dentro do contêiner depende do estado e composição do contêiner em questão.

Se o contêiner já estiver em execução E tiver um gerenciamento de processos, como Supervisord, Systemd, PM2, etc:

1. Use um Terminal para se conectar ao "/bin/bash" no contêiner - assumindo que ele tenha Bash instalado;
2. Adicione o repositório de pacotes adicionais (como arquivos de repositório yum ou apt) para o serviço e suas dependências, se os pacotes não estiverem disponíveis (ou estiverem muito desatualizados) nos repositórios padrão da distribuição usada pelo contêiner;
3. Atualize os repositórios do gerenciador de pacotes (como apt/yum update);
4. Instale as dependências para executar o serviço e/ou o serviço em si;
5. Copie qualquer arquivo necessário para suas respectivas localizações (se houver);
6. Ajuste os parâmetros do serviço no arquivo de configuração (se houver);
7. Adicione os arquivos de unidade necessários ao software de gerenciamento de processos;
8. Atualize o software de gerenciamento de processos;
9. Verifique se o serviço está em execução e ajuste para qualquer erro encontrado.

Se o contêiner já estiver em execução E não tiver um gerenciamento de processos, infelizmente você precisará reconstruir o contêiner e copiar todos os dados fora do contêiner.

Se o contêiner não tiver sido implantado ainda E não tiver um gerenciamento de processos:

1. Crie um Dockerfile personalizado com todos os comandos necessários para instalar o novo serviço;
2. Adicione os comandos para instalar o software de gerenciamento de processos preferido ao Dockerfile personalizado;
3. Crie um arquivo de unidade para cada serviço que você precisa executar no contêiner de acordo com o padrão do software de gerenciamento de processos e use a instrução COPY para copiar os arquivos de unidade para a localização correta durante a build;
4. Ajuste o ENTRYPOINT do Dockerfile para que o contêiner use o software de gerenciamento de processos como seu processo principal;
5. Construa o contêiner e verifique se todos os serviços estão em execução corretamente após isso.

COM Infinite OS

1. Acesse o painel e vá para a seção de Serviços:
A seção de Serviços permite que os serviços sejam iniciados, parados, reiniciados, instalados ou desinstalados.

Gerencie Mapeamentos

(domínios, subs, aliases, redirecionamentos, proxies, etc)

SEM Infinite OS

1. Crie uma rede docker/podman via CLI;

2. Edite seu compose.yaml para incluir todos os contêineres na nova rede;

3. Substitua o contêiner de proxy reverso com NGINX Proxy Manager ou a interface de usuário alternativa para o proxy reverso preferido no arquivo compose.yaml;

4. Reinicie as implantações;

5. Faça login na interface de administração e atualize as credenciais de login padrão;

6. Verifique o arquivo compose.yaml para obter os nomes dos contêineres e portas para que você possa criar um proxy, redirecionamento, streams ou host 404.

COM Infinite OS

Se você instalou o aplicativo via o Marketplace, os mapeamentos necessários já foram criados para você! 😄

Se você quiser criar, editar ou excluir um mapeamento, acesse o painel e vá para a página de Mapeamentos:

Gerencie Crons

SEM Infinite OS

Não há como editar visualmente os trabalhos cron nos contêineres. Na verdade, a maioria dos contêineres não terá um processo para o cron.

No entanto, se o contêiner tiver um gerenciamento de processos, como Supervisord, Systemd, PM2, etc:

1. Use um Terminal para se conectar ao "/bin/bash" no contêiner - assumindo que ele tenha Bash instalado;
2. Instale um editor de texto, como vim, nano, etc;
3. Instale cronie, fcron ou a implementação de cron preferida;
4. Crie um novo arquivo de unidade para o software cron no diretório de gerenciamento de processos;
5. Inicie o daemon cron via o gerenciamento de processos;
6. Edite os crons com o comando "crontab -e" ou o equivalente;
7. Salve o arquivo cron.

COM Infinite OS

1. Acesse o painel e vá para a página de Crons:

Demonstrativo Online

Você pode conhecer o OS sem precisar executá-lo com o demonstrativo online (somente leitura)!
https://os.demo.goinfinite.net:1618/
Usuário: demo
Senha: abc123
Lembre-se de ignorar o aviso de SSL (se houver).
Para uma experiência completa, recomendamos testar o Infinite OS localmente.

Contribua

Você está interessado em apoiar o projeto? Nós o convidamos a considerar fazer uma doação através do GitHub Sponsors.
Suas contribuições são muito apreciadas e nos ajudarão a levar os softwares Infinite ao seu potencial máximo.
menu-circlecross-circle
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram