NPDD/Baobáxia/Documentação
Documentação do Baobáxia
Conteúdo |
Preparação da Mucua
* Instalação zerada de Debian Stable - único pacote que precisa de debian testing é o 'git annex'
Instalação da Mucua
Baixe a versão mais atualizada do Baobáxia (pacotão) em: http://media.mocambos.net/
Como root, baixe o arquivo $ su - # wget http://media.mocambos.net/baobaxia_20150402.tbz # tar xvf baobaxia_20150402.tbz Rode o instalador: # cd baobaxia # ./install.sh
Cuidando da mucua
Atualmente algumas funcionalidades não tem acesso pela interface web mas são acessíveis diretamente pelo terminal.
Importante Sempre entre como usuário "exu" no coco (ou como root e depois passe ao usuário exu, com "su - exu"):
ssh root@coco (aquela senha) su - exu
O Baobáxia é instalado em dois repositórios git, um para o software que fica em:
/srv/bbx/baobaxia
e outro do acervo em si em:
/data/bbx/repositories/mocambos
Como todos os repositórios git, podemos verificar e atualizar os links para outros clones "remotos". Para ver como estão configurados:
cd /srv/bbx/baobaxia git remote -v
No caso do software deveria ter:
github https://github.com/RedeMocambos/baobaxia
Que podemos adicionar assim:
git remote add github https://github.com/RedeMocambos/baobaxia
Conectando as outras mucuas
Para verificar a conexão dos acervos das mucuas:
cd /data/bbx/repositories/mocambos git remote -v
deveria ter uma rota para o dpadua (ou outra mucua):
dpadua ssh://exu@dpadua.mocambos.net:9022/data/bbx/repositories/mocambos
Pode adicionar outra conexão, por exemplo pirriera, com:
git remote add pirriera ssh://exu@pirrieta.mocambos.net/data/bbx/repositories/mocambos
Uma vez verificados os remotes podemos sincronizar os repositórios. Em geral o git pode baixar (pull) ou enviar (push) as mudanças para outros clones.
Atualizando o codigo do Baobáxia
Então para atualizar o código com a ultima versão no github.com
cd /srv/bbx/baobaxia git pull github master
Uma vez atualizado o codigo precisa rodar alguns comandos para instalar as atualizações:
cd /srv/bbx/baobaxia/app/django-bbx . /srv/bbx/envs/bbx/bin/activate python manage.py collectstatic --noinput python manage.py syncdb --all python manage.py migrate --all /srv/bbx/bin/update_templates.sh
Sincronizando o acervo
Em vez desse comando para atualizar o acervo do Baobáxia usamos o comando:
/srv/bbx/bin/bbx-cron.sh
Que alem de baixar (pull), juntar (merge) e enviar (push) as mudanças, atualiza localmente os media no Baobáxia.
Enviar ou pedir copias dos conteúdos
O Baobáxia usa para gerenciar os arquivos o software git-annex que permite gerenciar copias dos arquivos entre as mucuas (clones dos repositórios).
A estrutura da pasta, do repositório do acervo (/data/bbx/repositories/mocambos):
├── chasqui │ ├── mocambolas │ └── video │ └── 14 │ └── 08 │ └── 13 │ ├── mineral-b8469.json (Arquivo de metadados) │ └── mineral-b8469.mp4 ├── coco │ ├── imagem │ │ └── 14 │ │ └── 10 │ │ ├── 04 │ │ │ ├── grafiti-coco-b0fe2.jpg │ │ │ ├── grafiti-coco-b0fe2.json (Arquivo de metadados) │ │ │ ├── logo-coco-e4b4e.json (Arquivo de metadados) │ │ │ └── logo-coco-e4b4e.png │ │ └── 06 │ │ ├── plantio-mucua-coco-oficina-nufac-a7152.jpg │ │ └── plantio-mucua-coco-oficina-nufac-a7152.json (Arquivo de metadados) │ ├── mocambolas │ │ ├── bethdeoxum@coco.mocambos.net.json │ │ ├── braza@coco.mocambos.net.json │ │ ├── daniel@coco.mocambos.net.json │ │ ├── iris@coco.mocambos.net.json │ │ ├── meme@coco.mocambos.net.json │ │ ├── pc@coco.mocambos.net.json │ │ └── raiol@coco.mocambos.net.json │ └── video │ └── 14 │ └── 10 │ ├── 04 │ │ ├── oficina-de-coco-em-cuba-com-mae-beth-dd7d3.json (Arquivo de metadados) │ │ └── oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg │ └── 06 │ ├── alma-no-olho-ff46d.json (Arquivo de metadados) │ └── alma-no-olho-ff46d.mp4 └-OUTRAS_MUCUAS...
Para enviar uma copia de um conteúdo para outra mucua, por exemplo o video "oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg" entramos na pasta e usamos o comando git annex copy:
cd /data/bbx/repositories/mocambos/coco/video/14/10/06/ git annex copy --to dpadua oficina-de-coco-em-cuba-com-mae-beth-dd7d3.ogg
Para receber uma copia de outra mucua a logica e' a mesma, por exemplo para pegar uma copia do video "mineral-b8469.mp4" publicado no chasqui:
cd /data/bbx/repositories/mocambos/chasqui/video/14/08/13/ git annex get mineral-b8469.mp4
O git annex vai tentar pegar a copia atraves das mucuas configuradas como "remote".
Acesso a Mucua via tunnel
Aqui no Coco não temos acesso a todos os roteadores para reancaminhar a porta do ssh para o acesso externo. Nesse caso usamos um tunnel ssh reverso que cria uma conexao para dpadua. Assim o ssh do coco esta acessivel na porta 6666 do dpadua.
ssh -fNT -R 6666:localhost:22 exu@dpadua.mocambos.net -p 9022
Para manter ativo o tunnel pode colocar esse script no /etc/rc.local (é necessário antes criar as autenticação via chaves para o usuario exu)
HOME=/home/exu/ autossh -f -N -M 10984 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /home/exu/.ssh/id_rsa -R 6666:localhost:22 exu@dpadua.mocambos.net -p 9022 & exit 0