CouchDB: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (Update Debian Bookworm / CouchDB 3.3.3)
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
Mit Debian Buster wird CouchDB nicht mehr als Debian Paket auf allen unseren Managed Servern installiert sein.
Mit Debian Buster wird CouchDB nicht mehr als Debian Paket auf allen unseren Managed Servern installiert sein.


Ein paar Notizen zum Selbstbau:
Ein paar Notizen zum Selbstbau (unter Bookworm):


   wget https://downloads.apache.org/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz
   wget https://downloads.apache.org/couchdb/source/3.3.3/apache-couchdb-3.3.3.tar.gz
   tar xzf apache-couchdb-3.1.0.tar.gz  
   tar xzf apache-couchdb-3.3.3.tar.gz  
   cd apache-couchdb-3.1.0
   cd apache-couchdb-3.3.3
   ./configure -c --spidermonkey-version 60
   ./configure --spidermonkey-version 78
   make release
   make release
   mv rel/couchdb ..
   mv rel/couchdb ..
   cd ..
   cd ..
   rm -rf apache-couchdb-3.1.0*
   rm -rf apache-couchdb-3.3.0*


== Startskript ==
== Konfiguration ==


  xyz00-couchdb@h00:~$ cat couchdb/bin/couchdb.sh
In der Datei ''~/couchdb/etc/local.ini'':


   #!/bin/bash
   [chttpd]
   export ERL_EPMD_ADDRESS=127.0.0.1
   port = 35994
   export ERL_EPMD_PORT=34369
  bind_address = 127.0.0.1
   export HOME=/home/pacs/xyz00/users/couchdb
   ...
   export COUCHDB_BASE=$HOME/couchdb
   [admins]
  exec $COUCHDB_BASE/bin/couchdb > $COUCHDB_BASE/var/log/couchdb.log 2>&1 &
   admin = mein-couch-admin-password
  echo $! > $COUCHDB_BASE/var/couchdb.pid


== Monit ==
== Start mit SystemD ==


   xyz00-couchdb@h00:~$ cat .monitrc
   xyz00-couchdb@h00:~$ cat .config/systemd/user/couchdb.service
   set daemon 60 with start delay 120
 
   set logfile /home/pacs/xyz00/users/couchdb/monit/var/monit.log
  [Unit]
   set idfile /home/pacs/xyz00/users/couchdb/monit/var/monit.id
  Description=CouchDB User Service
   set statefile /home/pacs/xyz00/users/couchdb/monit/var/monit.state
 
   set mailserver localhost
   [Service]
   set mail-format { from: monit@xyz00.hostsharing.net }
   WorkingDirectory=%h/couchdb
   set alert xyz00@h93.hostsharing.net
  Environment="HOME=%h"
  set httpd port 38008 address localhost
  Environment="ERL_EPMD_ADDRESS=127.0.0.1"
      allow couchdbadmin:chohNeub0Upie9foo3efieme
  Environment="ERL_EPMD_PORT=34369"
   check process couchdb with pidfile /home/pacs/xyz00/users/couchdb/couchdb/var/couchdb.pid
   Environment="COUCHDB_BASE=%h/couchdb"
      start program "/home/pacs/xyz00/users/couchdb/couchdb/bin/couchdb.sh"
  ExecStart=%h/couchdb/bin/couchdb
      stop program "/bin/bash -c '/bin/kill $( cat /home/pacs/xyz00/users/couchdb/couchdb/var/couchdb.pid )'"
   StandardOutput=file:%h/couchdb/var/log/couchdb.log
  StandardError=inherit
  Restart=always
  PrivateTmp=true
   NoNewPrivileges=true
    
   [Install]
  WantedBy=default.target
 
 
Starten und Aktivieren des Service:
 
  systemctl --no-pager --user daemon-reload
   systemctl --no-pager --user start couchdb.service
  systemctl --no-pager --user status couchdb.service
  systemctl --no-pager --user enable couchdb.service
 
 
== Dump und Restore ==
 
Mit dem folgenden Skript kann man einzelne Datenbanken aus einer CouchDB-Instanz sichern und wiederherstellen:
 
* https://github.com/danielebailo/couchdb-dump

Aktuelle Version vom 6. März 2024, 13:10 Uhr

CouchDB

Mit Debian Buster wird CouchDB nicht mehr als Debian Paket auf allen unseren Managed Servern installiert sein.

Ein paar Notizen zum Selbstbau (unter Bookworm):

 wget https://downloads.apache.org/couchdb/source/3.3.3/apache-couchdb-3.3.3.tar.gz
 tar xzf apache-couchdb-3.3.3.tar.gz 
 cd apache-couchdb-3.3.3
 ./configure --spidermonkey-version 78
 make release
 mv rel/couchdb ..
 cd ..
 rm -rf apache-couchdb-3.3.0*

Konfiguration

In der Datei ~/couchdb/etc/local.ini:

 [chttpd]
 port = 35994
 bind_address = 127.0.0.1
 ...
 [admins]
 admin = mein-couch-admin-password

Start mit SystemD

 xyz00-couchdb@h00:~$ cat .config/systemd/user/couchdb.service
 [Unit]
 Description=CouchDB User Service
 
 [Service]
 WorkingDirectory=%h/couchdb
 Environment="HOME=%h"
 Environment="ERL_EPMD_ADDRESS=127.0.0.1"
 Environment="ERL_EPMD_PORT=34369"
 Environment="COUCHDB_BASE=%h/couchdb"
 ExecStart=%h/couchdb/bin/couchdb
 StandardOutput=file:%h/couchdb/var/log/couchdb.log
 StandardError=inherit
 Restart=always
 PrivateTmp=true
 NoNewPrivileges=true
 
 [Install]
 WantedBy=default.target


Starten und Aktivieren des Service:

 systemctl --no-pager --user daemon-reload
 systemctl --no-pager --user start couchdb.service
 systemctl --no-pager --user status couchdb.service
 systemctl --no-pager --user enable couchdb.service


Dump und Restore

Mit dem folgenden Skript kann man einzelne Datenbanken aus einer CouchDB-Instanz sichern und wiederherstellen: