Sign inSign up

geisler/rede-cnpj

By geisler

•Updated 9 months ago

Image
0

176

geisler/rede-cnpj repository overview

⁠Rede CNPJ

Esta imagem docker visa facilitar o uso do projetorede cnpj⁠.

⁠Versionamento

A versão é feita, baseado na data AAAA-MM-DD-versao, ou seja: geisler/rede-cnpj:2025-03-14-0 é a versão do dia 14 de agosto de 2025, sendo a primeira versão do dia.

O intuito de colocar o dia, será para que saibamos de quando está atualizado a versão disponível.

⁠Uso

Recomendo que já deixe o volume com a base de dados para ser montado no /redecnpj/rede-cnpj/rede/bases.

Irei demonstrar um exemplo que testei no k3s em minha maquina pessoal:

apiVersion: v1
kind: ConfigMap
metadata:
  name: redecnpjapp-config
  namespace: rede-cnpj
data:
  TZ: "America/Sao_Paulo"
  LC_ALL: "pt_BR.utf8" 

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redecnpj-app
  namespace: rede-cnpj
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redecnpj-app
  template:
    metadata:
      labels:
        app: redecnpj-app
    spec:
      containers:
      - name: redecnpjapp
        image: geisler/rede-cnpj:2025-03-14-0
        command: 
          - python
          - rede.py
        volumeMounts:
        - name: redecnpjapp-volume
          mountPath: /redecnpj/rede-cnpj/rede/bases/
        ports:
          - containerPort: 5000
        envFrom:
          - configMapRef:
              name: redecnpjapp-config            
      volumes:
      - name: redecnpjapp-volume
        hostPath:
          path: /mnt/dados/redecnpj/bases
---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  name: redecnpj-app
  namespace: rede-cnpj
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 5000
  selector:
    app: redecnpj-app
status:
  loadBalancer: {}
---
apiVersion: v1
kind: Secret
metadata:
  name: auth-secret
  namespace: rede-cnpj
data:
  users: | 
    dXN1YXJpbzokYXByMSQ1ZktvNWJmcCRiMFdaTDJUaGZEamFHS013TXhuRy8x
type: Opaque
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: quempode
  namespace: rede-cnpj
spec:
  basicAuth:
    secret: auth-secret
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: redecnpj-ingress
  namespace: rede-cnpj
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
    traefik.ingress.kubernetes.io/router.middlewares: rede-cnpj-quempode@kubernetescrd
    
spec:
  ingressClassName: traefik
  rules:
  - host: sitecnpj.exemplo.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: redecnpj-app
            port:
              number: 80
  tls:
  - hosts:
    - sitecnpj.exemplo.com
    secretName: redecnpj-cert

Opções de personalização:

  • Você pode colocar o rede.ini externamente também para que você possa alterar a configuraçao.
  • Você pode montar o /redecnpj em um volume e fazer o git clone dentro dele, assim a atualização fica por sua responsabilidade. Desta forma você poderá editar os arquivos na pasta.

⁠Dockerfile

FROM alpine
RUN apk add --no-cache git python3 py3-pip py3-lxml py3-pyarrow python3-dev py3-langdetect py3-psutil g++ && \
mkdir /redecnpj/ && cd /redecnpj && \
git clone https://github.com/rictom/rede-cnpj.git && \
pip3 install --break-system -r rede-cnpj/rede/requirements.txt && \
pip3 install --break-system spacy && \
pip3 install --break-system pip==24 && \
pip3 install --break-system textract && \
pip3 install --break-system --upgrade pip && \
apk add py3-six && \
echo y | pip3 uninstall --break-system six parfive wget dask && \
pip3 install --break-system six
WORKDIR /redecnpj/rede-cnpj/rede

Tag summary

Content type

Image

Digest

sha256:922e1fd05…

Size

606.2 MB

Last updated

9 months ago

docker pull geisler/rede-cnpj:2025-12-23