{"id":28265668,"url":"https://github.com/eduardobrust/totvs-protheus2410-smartview-docker","last_synced_at":"2026-05-05T09:32:45.688Z","repository":{"id":293266120,"uuid":"981394615","full_name":"eduardobrust/totvs-protheus2410-smartview-docker","owner":"eduardobrust","description":"Protheus-Docker-SmartView","archived":false,"fork":false,"pushed_at":"2025-05-24T19:07:25.000Z","size":18055,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T07:48:19.477Z","etag":null,"topics":["containers","docker","docker-compose","protheus","smartview","yml"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eduardobrust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-11T02:18:41.000Z","updated_at":"2025-05-24T19:07:28.000Z","dependencies_parsed_at":"2025-05-15T13:24:06.346Z","dependency_job_id":null,"html_url":"https://github.com/eduardobrust/totvs-protheus2410-smartview-docker","commit_stats":null,"previous_names":["eduardobrust/totvs-protheus2410-smartiview-docker","eduardobrust/totvs-protheus2410-smartview-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eduardobrust/totvs-protheus2410-smartview-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduardobrust%2Ftotvs-protheus2410-smartview-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduardobrust%2Ftotvs-protheus2410-smartview-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduardobrust%2Ftotvs-protheus2410-smartview-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduardobrust%2Ftotvs-protheus2410-smartview-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eduardobrust","download_url":"https://codeload.github.com/eduardobrust/totvs-protheus2410-smartview-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eduardobrust%2Ftotvs-protheus2410-smartview-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32643665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containers","docker","docker-compose","protheus","smartview","yml"],"created_at":"2025-05-20T13:13:29.692Z","updated_at":"2026-05-05T09:32:45.676Z","avatar_url":"https://github.com/eduardobrust.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐳 Ambiente Dockerizado em Linux - TOTVS Protheus 12.1.2410 com SmartView e PostgreSQL\n\nEste projeto oferece um ambiente completo e containerizado do ERP **TOTVS Protheus 12.1.2410** com **SmartView** e **PostgreSQL 16**, utilizando imagens Docker personalizadas e otimizadas para distribuições Linux.\n\n\n## 📁 Estrutura recomendada do repositório\n\n```bash\nbrust-protheus2410-smartview-docker-linux-postgres/\n.\n├── .git/\n├── certificate/\n├── img_dbaccess/\n├── img_license/\n├── img_postgres/\n├── img_protheus/\n├── img_smartview/\n├── postgres-data/\n├── totvs/\n├── .gitignore\n├── 1_postgres_image.sh\n├── 2_license_server_image.sh\n├── 3_dbaccess_image.sh\n├── 4_protheus_image.sh\n├── 5_smartview_image.sh\n├── apprest_container.sh\n├── appserver_container.sh\n├── dbaccess_container.sh\n├── docker-compose.override_modelo.yml\n├── docker-compose.yml\n├── LICENSE\n├── README.md\n└── totvs_all_image.sh\n\n```\n\n---\n\n## 🚀 Visão Geral\n\nEste repositório contém os arquivos de configuração e scripts necessários para subir um ambiente **TOTVS Protheus 12.1.2410 com SmartView e PostgreSQL**, totalmente containerizado com Docker.\n\n---\n\n## 📦 Imagens Docker\n\n### 📥 Imagens Docker disponíveis\n\n| Serviço        | Descrição                                         | Imagem Docker                                                              |\n|----------------|---------------------------------------------------|----------------------------------------------------------------------------|\n| PostgreSQL     | Banco com init dbProtheus + SmartView (Debian 12) | `eduardobrust/...:dbProtheus-dbSmarView-debian12`                          |\n| License Server | TOTVS License Server (OpenSUSE 15.6)              | `eduardobrust/...:licenseserver-opensuse15.6`                              |\n| DbAccess       | Acesso ao banco de dados (Oracle Linux 9)         | `eduardobrust/...:dbaccess-oracleLinux9`                                   |\n| Protheus       | ERP Protheus 12.1.2410 (OpenSUSE 15.6)            | `eduardobrust/...:protheus2410-opensuse15.6`                               |\n| SmartView      | Interface de visualização (Oracle Linux 9)        | `eduardobrust/...:smartview-oraclelinux9`                                  |\n\n\n## Como baixar as imagens Docker\n\nPara rodar o ambiente do Protheus 12.1.2410 com SmartView e PostgreSQL, você precisará baixar várias imagens Docker. \nAbaixo estão os comandos necessários para baixar cada serviço, seguido de uma breve explicação sobre o que cada um faz:\n\n### 1. Baixar a imagem do PostgreSQL com Banco do Protheus e SmartView usando Distro Debian 12\n\nEssa imagem contém o ambiente configurado para o banco de dados do Protheus com o SmartView, rodando em Debian 12.\n\n📦 **Imagem:** `eduardobrust/brust-protheus2410-smartview-linux-postgres:dbProtheus-dbSmarView-debian12`\n🐧 **Distro:** Debian GNU/Linux 12\n🔒 **Separação lógica:** O Protheus e o SmartView usam aliases distintos (`dbprotheus` e `dbSmartView`) no mesmo container para simular bancos independentes.\n🌐 **Portas expostas:** 5433\n\n```bash\ndocker pull eduardobrust/brust-protheus2410-smartview-linux-postgres:dbProtheus-dbSmarView-debian12\n```\n\n### 2. Baixar a imagem do License Server para OpenSUSE 15.6\n\nEssa imagem contém o License Server do Protheus, configurado para rodar em OpenSUSE 15.6.\n\n📦 **Imagem:** `eduardobrust/brust-protheus2410-smartview-linux-postgres:licenseserver-opensuse15.6`\n🐧 **Distro:** OpenSUSE Leap 15.6\n🔗 **Função:** Garante a licença de uso dos produtos TOTVS no ambiente isolado.\n🌐 **Portas expostas:** 2236 / 5556 / 8050\n\n```bash\ndocker pull eduardobrust/brust-protheus2410-smartview-linux-postgres:licenseserver-opensuse15.6\n```\n\n### 3. Baixar a imagem do DbAccess para Oracle Linux 9\n\nEssa imagem contém o DbAccess, a camada de acesso ao banco de dados, configurado para Oracle Linux 9.\n\n📦 **Imagem:** `eduardobrust/brust-protheus2410-smartview-linux-postgres:dbaccess-oracleLinux9`\n🐧 **Distro:** Oracle Linux 9\n🔄 **Dependências:** Inicia somente após o banco e o license server\n💬 **Função:** Estabelece a conexão entre o AppServer e os bancos configurados (via ODBC e portas mapeadas).\n🌐 **Portas expostas:** 7892 / 7893\n\n```bash\ndocker pull eduardobrust/brust-protheus2410-smartview-linux-postgres:dbaccess-oracleLinux9\n```\n\n### 4. Baixar a imagem do Protheus 2410 para OpenSUSE 15.6\nEssa imagem contém o ambiente Protheus 12.1.2410, configurado para rodar em OpenSUSE 15.6.\n\n📦 **Imagem:** `eduardobrust/brust-protheus2410-smartview-linux-postgres:protheus2410-opensuse15.6`\n🐧 **Distro:** OpenSUSE 15.6\n🔄 **Dependências:** Inicia somente após o banco, license server e dbaccess\n🎯 **Função:** Executa os serviços principais da Release 12.1.2410\n🌐 Portas expostas: 1101 / 1102 / 9003 / 9090 / 21021\n\n```bash\ndocker pull eduardobrust/brust-protheus2410-smartview-linux-postgres:protheus2410-opensuse15.6\n```\n\n### 5. Baixar a imagem do SmartView para Oracle Linux 9\nEssa imagem contém o ambiente do SmartView configurado para rodar em Oracle Linux 9, permitindo a visualização e interação com o sistema Protheus.\n\n📦 **Imagem:** `eduardobrust/brust-protheus2410-smartview-linux-postgres:smartview-oraclelinux9`\n🐧 **Distro:** Oracle Linux 9\n🔄 **Dependências:** Inicia somente após o banco, license server, dbaccess , Protheus\n🧱 **Separação completa:** Utiliza banco, dbaccess e license independentes\n🌐 **Portas expostas:** 7019 / 7017\n\n```bash\ndocker pull eduardobrust/brust-protheus2410-smartview-linux-postgres:smartview-oraclelinux9\n```\n\n#### 📌 Observação\n###### Antes de rodar esses comandos, certifique-se de que o Docker está instalado e configurado corretamente em sua máquina. Cada um desses serviços é necessário para montar o ambiente completo do Protheus com SmartView e PostgreSQL.\n---\n\n## ✅ Pré-requisitos\n\n* 🐳 Docker instalado\n* 💻 Bash (Linux, WSL ou Git Bash no Windows)\n* 🐧Recomendo instalar a distro OpenSUSE encontrada no microsoft store\n\n---\n\n### 🧪 Compatibilidade testada\n\n- Docker Engine: 24.0+\n- Docker Compose: 2.20+\n- WSL2 no Windows 11 PRO\n- Sistemas baseados em Linux (Debian, Oracle Linux, OpenSUSE)\n- Ubuntu como Host - Tive problemas no license Server de Ulimit *\n\n---\n\n## 🛠️ Como usar\n\n### 1. Clone o repositório\n\n```bash\ngit clone https://github.com/eduardobrust/brust-protheus2410-smartview-docker-linux-postgres.git\ncd brust-protheus2410-smartview-docker-linux-postgres\n```\n\n###### 🌍 Baixe a pasta webagent para um diretório do windows; se estiver usando diretamente o linux, baixe o webagent do site da totvs, versão para linux. Instale e deixe rodando em memória.\n\n### 2. Descrição dos Scripts para geração das Imagens\n\n```bash\n./1_postgres_image.sh           # 🔧 Builda e sobe a imagem do PostgreSQL\n./2_license_server_image.sh     # 🔧 Builda e sobe a imagem do Totvs License Server\n./3_dbaccess_image.sh           # 🔧 Builda e sobe a imagem do Totvs Dbaccess\n./4_protheus_image.sh           # 🔧 Builda e sobe a imagem do Protheus 2410\n./5_smartview_image.sh          # 🔧 Builda e sobe a imagem do Smart View\n./totvs_all_image.sh            # 🔧 Builda e sobe todas as imagens seguindo a ordem acima \n```\n---\n\n### 3. Comandos rápidos para geração das Imagens\n\n```bash\n./1_postgres_image.sh run     # 🔧 Builda e sobe o container do PostgreSQL\n./1_postgres_image.sh stop    # ⛔ Para e remove o container\n./1_postgres_image.sh clean   # 🧹 Remove volumes não utilizados\n./1_postgres_image.sh logs    # 📜 Mostra logs do PostgreSQL\n./1_postgres_image.sh help    # ❓ Mostra o help com os comandos dispononíveis do PostgreSQL\n```\n\n## ❗ Problemas comuns\n\n📌 **WebAgent não sobe quando os serviços do docker estão no ar - Recomendado subir antes.**\n\n📌 **Persistência do RPO na Pasta `totvs/protheus/apo`**\n\nA pasta `totvs/protheus/apo` é utilizada para persistir o RPO (Repositório de Objetos) do contêiner no sistema de arquivos do host, por meio de um bind mount configurado no `docker-compose.yml`. Para manter o RPO entre diferentes execuções do contêiner, é necessário garantir que o RPO do Protheus esteja presente nesta pasta antes de iniciar o contêiner.\n\nNo entanto, cuidado: se a pasta `./totvs/protheus/apo` no host estiver vazia ao iniciar o contêiner, ela sobrescreverá o conteúdo da pasta `/totvs/protheus/apo` dentro do contêiner, podendo apagar o RPO padrão da imagem. Para evitar isso, você pode comentar a linha correspondente no `docker-compose.yml`:\n\n```yaml\n# - ./totvs/protheus/apo:/totvs/protheus/apo\n```\n\n💡 **Dica de Boas Práticas**\n\nSiga este procedimento para configurar o RPO corretamente:\n\n1. **Inicie o contêiner sem o bind mount:** Comente a linha mencionada acima no `docker-compose.yml` e execute `docker-compose up -d`. Isso permite que o contêiner inicie com o RPO padrão da imagem do Protheus.\n2. **Copie o RPO para o host:** Acesse o contêiner e copie o conteúdo da pasta `/totvs/protheus/apo` para o diretório `./totvs/protheus/apo` no host (use `docker cp` para isso).\n3. **Remova o contêiner e a imagem:** Execute `docker-compose down` para parar e remover o contêiner. Se necessário, remova a imagem com `docker rmi \u003cnome-da-imagem\u003e`.\n4. **Reinicie com o bind mount ativado:** Descomente a linha no `docker-compose.yml` e execute `docker-compose up -d` novamente. Agora, o contêiner usará o RPO persistido na pasta do host.\n\n---\n\n### 🔄 \"init.sql\" não executa novamente\nIsso ocorre porque o volume persiste o estado. Use:\n\n```bash\n./1_postgres_image.sh stop \u0026\u0026 ./1_postgres_image.sh clean \u0026\u0026 ./1_postgres_image.sh run\n```\n📌 O script `init.sql` dentro da imagem `img_postgres` será executado **apenas na primeira vez** que o container for criado com volume limpo.\ndevido a natureza do script ser de criação de tabela.\nPara forçar criar a tabela novamente, apague a pasta postgres-data.\n\n🔄 Se quiser forçar nova execução:\n\n```bash\n./1_postgres_image.sh stop \u0026\u0026 ./1_postgres_image.sh clean \u0026\u0026 ./1_postgres_image.sh run\n```\n---\n\n\n### 4. Subir todos as imagens com o script centralizador\n\n```bash\n./totvs_all_image.sh run\n```\n\n🧩 Ou, se preferir, utilize diretamente o Docker Compose:\n\n```bash\ndocker-compose up -d\n```\n\n💡 *Recomenda-se o uso do script `totvs_all_image.sh`, pois ele pode configurar volumes, certificados e outras dependências antes de iniciar os containers.*\n\n---\n\n## 🔐 Certificados e Segurança\n\nCaso deseje utilizar HTTPS ou integração segura entre os serviços, inclua seus certificados personalizados na pasta `certificate/`.\n\n---\n\n### 📦 Comandos rápidos para manipulação dos containeres\n\n```bash\n./apprest_container.sh start        # ▶️ Inicia o serviço do Rest no Protheus\n./apprest_container.sh stop         # ⛔ Para o serviço do Rest no Protheus\n./apprest_container.sh kill         # 💀 Força a parada do serviço Rest no Protheus\n./apprest_container.sh restart      # 🔄 Reinicia o serviço do Rest no Protheus\n./apprest_container.sh status       # ℹ️ Mostra o status do serviço Rest no Protheus\n./apprest_container.sh describe     # 📝 Mostra detalhes do serviço e as configurações\n./apprest_container.sh export       # 📤 Exporta o appserver.ini, console.log para a pasta /temp do host\n./apprest_container.sh log          # 📜 Exibe o console.log do Rest na tela \n```\n---\n### 🎥 Vídeo de demonstração do Processo\n\n[![Protheus 2410 + Smart View no Docker](./docker.png)](https://www.youtube.com/watch?v=fBv1C_Ezgqg)\n\n---\n\n## 📄 Licença\n\n📝 Todas as marcas usadas neste projeto são de propriedade da **TOTVS S.A.**\nEste projeto é mantido para fins educacionais e de testes com o ERP TOTVS Protheus.\nLicenças de software devem ser providenciadas conforme exigido pela TOTVS.\nTodo o projeto foi desenvolvido utilizando uma base teste com empresa 99 do Protheus.\n\n---\n\n## 🧑‍💻 Autor\n\nCriado por **Eduardo Brust**\n\n* 📧 [eduardobrust@gmail.com](mailto:eduardobrust@gmail.com)\n* 🎥 [YouTube](https://www.youtube.com/@EduardoBrust)\n* 🔗 [LinkedIn](https://www.linkedin.com/in/eduardo-brust/)\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduardobrust%2Ftotvs-protheus2410-smartview-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feduardobrust%2Ftotvs-protheus2410-smartview-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feduardobrust%2Ftotvs-protheus2410-smartview-docker/lists"}