ecoDMS

Installed at 10.1.1.14.

Setup

The setup is based on the official install documentation and the Docker image.

apt install -y gnupg2 locales tzdata bind9 acl apt-utils wget software-properties-common
locale-gen de_DE.UTF-8
update-locale LANG=de_DE.UTF-8

wget -O - https://www.ecodms.de/gpg/ecodms.key | apt-key add -
echo "deb https://www.ecodms.de/ecodms_180964/focal /" > /etc/apt/sources.list.d/ecodms.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
wget -O - 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' | apt-key add -
add-apt-repository -y ppa:openjdk-r/ppa
apt update
apt install -y postgresql
apt install -y ecodmsserver
reboot

Initial configuration

Install the client on a computer and open the connection manager. For the first start, login using ecodms:ecodms.

Users

Go into Options and Users. Set a proper password for the default ecodms, this account will not actually be used. Create actual users as needed.

Also create a role Family and add the appropriate users.

Classification

Go into Options and Settings.

Create the following classification attributes:

  • Reference: text
  • Foreign reference: text
  • Date (received): date
  • Date (sent): date

Create the following document types and set some pretty icons:

  • Administrative notice
  • Complaint
  • Receipt
  • Letter
  • GDPR request/response
  • Email
  • Form
  • Bank statement
  • Cancellation
  • Invoice
  • Tax declaration
  • Time sheet
  • Contract

Create the following folder and folder permissions and set some pretty icons:

  • Work (role: me)
  • GDPR (role: me)
  • Family (role: Family)
    • Finance
    • Tax
    • Insurance
  • Finance (role: me)
  • Tax (role: me)
  • University (role: me)
  • Non-profits (role: me)

Other settings

Under Settings and General, disable showing the background image, enable not showing system roles when classifying and set the maximum file size for the preview to 20MB.

Under Settings and Email, enter SMTP details.

Under Web / Mobile / API and Web access, enable web access on port 8080 (and forward that outside through portproxy).

Backups

On the server, run:

mkdir -p /backup/full
chmod -R ecodms /backup

Go into Options and Settings. Under Settings and Backup, set the path to /backup and enable automatic daily backups for 4 AM. Select Incremental backup and enable email reports. Issue a manual backup to test the settings.

Create the script ~/full_backup.sh as shown below and chmod +x ~/full_backup.sh.

The instance is backed up to Backblaze B2 using restic. Follow the steps in Net/Restic, using /backup as the backup folder.

Setup the following cron jobs:

30 4 * * 1 /root/full_backup.sh && curl -fsS --retry 3 https://hc-ping.com/236695a8-f347-4187-8fb6-d9bd6dd8cbb4
00 5 * * * /root/backup-restic-b2.sh && curl -fsS --retry 3 https://hc-ping.com/59122aae-33f0-45a3-b47c-b61f75fcd688
00 8 * * 1 /root/housekeeping-restic-b2.sh && curl -fsS --retry 3 https://hc-ping.com/49c0c5e2-f465-4a67-813d-2e0bea110123

Updates

TODO

Scripts

full_backup.sh

#!/bin/bash

set -e

# Keep only the latest ten full backups, taken from: https://superuser.com/a/829486
ls -d -1tr /backup/full/* | head -n -10 | xargs -d '\n' rm -f

# Create a new full backup in /backup/full.
cd /opt/ecodms/ecodmsserver/tools
./ecoDMSBackupConsole /backup/full