Empacotamento Docker do notify_push, com o codigo-fonte upstream versionado em ./notify_push via git subtree.
Este repositorio adiciona:
- um README em portugues para o projeto
notify_pushvendorizado - um exemplo de deploy atras do
nginx-proxy - a configuracao de GitHub Actions para publicar a imagem no GHCR
notify_push/: arvore de codigo donextcloud/notify_pushdocker-compose.example.yml: exemplo de deploy comnginx-proxy.github/workflows/publish-ghcr.yml: workflow de publicacao da imagem no GHCR
Use o mesmo host para o Nextcloud e para o notify_push, roteando /push/ para o servico de push.
Copie o exemplo de compose e ajuste os valores no arquivo .env.
Exemplo usando o dominio generico cloud.example.com:
services:
nextcloud:
image: ${NEXTCLOUD_IMAGE}
environment:
VIRTUAL_HOST: ${VIRTUAL_HOST}
VIRTUAL_PATH: ${NEXTCLOUD_VIRTUAL_PATH}
networks:
- reverse-proxy
- internal
notify_push:
image: ${NOTIFY_PUSH_IMAGE}
environment:
PORT: "${NOTIFY_PUSH_PORT}"
NEXTCLOUD_URL: "${NEXTCLOUD_URL}"
REDIS_URL: "${REDIS_URL}"
DATABASE_URL: "${DATABASE_URL}"
DATABASE_PREFIX: "${DATABASE_PREFIX}"
LOG: "${NOTIFY_PUSH_LOG}"
VIRTUAL_HOST: ${VIRTUAL_HOST}
VIRTUAL_PATH: ${NOTIFY_PUSH_VIRTUAL_PATH}
VIRTUAL_DEST: ${NOTIFY_PUSH_VIRTUAL_DEST}
VIRTUAL_PORT: "${NOTIFY_PUSH_PORT}"
expose:
- "${NOTIFY_PUSH_PORT}"
networks:
- reverse-proxy
- internalExemplo de .env:
NEXTCLOUD_IMAGE=nextcloud:apache
NOTIFY_PUSH_IMAGE=ghcr.io/librecodecoop/nextcloud-notify-push-docker:latest
VIRTUAL_HOST=cloud.example.com
NEXTCLOUD_VIRTUAL_PATH=/
NOTIFY_PUSH_PORT=7867
NEXTCLOUD_URL=https://cloud.example.com
REDIS_URL=redis://redis:6379/0
DATABASE_URL=postgres://nextcloud:secret@postgres/nextcloud
DATABASE_PREFIX=
NOTIFY_PUSH_LOG=info
NOTIFY_PUSH_VIRTUAL_PATH=/push/
NOTIFY_PUSH_VIRTUAL_DEST=/Pontos importantes:
- o
notify_pushprecisa estar na mesma rede Docker donginx-proxy - use
VIRTUAL_PATH=/push/com barra final - use
VIRTUAL_DEST=/para remover o prefixo/push/antes de encaminhar a requisicao - em setups com
nginx-proxy, normalmenteexposee suficiente e voce nao precisa publicar a porta7867no host
Depois que o servico estiver acessivel pelo proxy reverso:
occ app:enable notify_push
occ notify_push:setup https://cloud.example.com/push
occ notify_push:self-testValide as respostas do proxy:
curl -I https://cloud.example.com/push
curl -I https://cloud.example.com/push/O comportamento esperado e:
/pushresponder com301para/push//push/nao responder com502ou outro erro de upstream do proxy
Enquanto isso, acompanhe os logs do servico e gere um evento no Nextcloud, como uma notificacao, mensagem no Talk ou alteracao de arquivo:
docker compose logs -f notify_pushO workflow em .github/workflows/publish-ghcr.yml constroi a imagem a partir de notify_push/Dockerfile e publica no
GitHub Container Registry.
Ele executa em:
- pushes para
main - tags de versao no formato
v* - disparo manual
Requisitos do repositorio:
- GitHub Actions habilitado
- permissao
packages: writepara o workflow
O nome final da imagem e derivado do caminho do repositorio, por exemplo:
ghcr.io/librecodecoop/nextcloud-notify-push-docker:latest
ghcr.io/librecodecoop/nextcloud-notify-push-docker:main
O README em inglês do projeto oficial está em
notify_push/README.md.