Services on CC: Difference between revisions

From Creative Crowds wiki
Jump to navigation Jump to search
 
(39 intermediate revisions by the same user not shown)
Line 2: Line 2:


* OVH server: debian 11 (bullseye)
* OVH server: debian 11 (bullseye)
* Servus server: debian 12 (bookworm)
* latest stable: debian 13 (trixie)
* latest stable: debian 13 (trixie)
===apt===
'''OVH server'''
* sources: /etc/apt/sources.list


<pre>
<pre>
Line 19: Line 26:
i think we can do without when we upgrade to trixie on the Servus server
i think we can do without when we upgrade to trixie on the Servus server


===new Servus server===
'''Servus server'''
 
upgrading from bookworm to trixie: https://www.debian.org/releases/trixie/release-notes/upgrading.en.html


* sources: /etc/apt/sources.list.d/debian.sources
* sources: /etc/apt/sources.list.d/debian.sources


<pre>                            
<pre>
Types: deb
Types: deb
URIs: https://deb.debian.org/debian
URIs: https://deb.debian.org/debian
Line 37: Line 46:
</pre>
</pre>


==etherpad-lite==
==etherpad==


/srv/etherpad-lite/
===installed===


* database: sqlite (878MB on 7 Nov 2025)
/opt/etherpad/
* /etc/systemd/system/etherpad-lite.service (generated by installation)
 
runs as user <code>etherpad</code>
 
===database===
 
sqlite  
 
* 878MB on 7 Nov 2025
* 917MB on 11 Dec 2025
* 942MB on 23 Jan 2026
 
===systemd===
 
sudo systemctl status etherpad
sudo systemctl start etherpad
sudo systemctl stop etherpad
sudo systemctl restart etherpad


<pre>
<pre>
[Unit]
[Unit]
Description=etherpad-lite (real-time collaborative document editing)
Description=etherpad (real-time collaborative document editor)
After=syslog.target network.target
After=syslog.target network.target


[Service]
[Service]
Type=simpleUser=etherpad-lite
Type=simple
User=etherpad-lite
User=etherpad
Group=etherpad-lite
Group=etherpad
#WorkingDirectory=/opt/etherpad
Environment=NODE_ENV=production
Environment=NODE_ENV=production
ExecStart=/bin/sh /srv/etherpad-lite/src/bin/run.sh
#ExecStart=pnpm run prod
ExecStart=/bin/sh /opt/etherpad/bin/run.sh
Restart=always
 
StandardOutput=append:/var/log/etherpad/etherpad.log
StandardError=append:/var/log/etherpad/etherpad-error.log


[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</pre>
</pre>
===logs===
sudo tail -f /var/log/etherpad/etherpad.log
sudo tail -f /var/log/etherpad/etherpad-error.log
===backups===
* crontab: every night at 5.55 <code>/opt/etherpad/etherpad.db</code> is copied to <code>/opt/etherpad/etherpad_backup.db</code> (just in case)
===installation on Servus server===
see: [[Install_Etherpad-lite]]


==mediawiki==
==mediawiki==


  /var/www/html/wiki/
  <s>/var/www/html/wiki/</s>


* php: php7.4
/opt/wiki/
 
* php: php8.4
* database: mariadb
* installation on Servus server: [[Migrate Mediawiki]]
 
===nginx===
 
Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx
 
===backups===
 
backups through crontab:
 
# every night at 3:33
33 3 * * * mysqldump --user=wiki --password=XXX wikidb > /var/www/html/wiki/ wikidb_backup.sql
33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml > /var/www/html/wiki/wikidb_backup.xml


==octomode==
==octomode==
Line 71: Line 131:


* flask application
* flask application
* runs on port 3333
* /etc/systemd/system/octomode.service
* /etc/systemd/system/octomode.service


Line 89: Line 150:
WantedBy=multi-user.target
WantedBy=multi-user.target
</pre>
</pre>
* installation log: [[Octomode]]


==wiki-to-print==
==wiki-to-print==


  /var/www/wiki2print/
  /opt/wiki-to-print/


* flask application
* flask application
* /etc/systemd/system/wiki2print.service
* runs on port 4444
* /etc/systemd/system/wiki-to-print.service
* currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)


<pre>
<pre>
[Unit]
[Unit]
Description=wiki2print
Description=wiki-to-print
After=network.target
After=network.target


[Service]
[Service]
User=www-data
User=wikitoprint
WorkingDirectory=/var/www/wiki2print/web-interface/
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/
ExecStart=/usr/bin/make server
ExecStart=/usr/bin/make server
#ExecStart=export SCRIPT_NAME=/wiki-to-print && /var/www/wiki2print/web-interface/venv/bin/gunicorn -b localhost:5522 --reload web-interface:APP
Restart=always
Restart=always
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log


[Install]
[Install]
Line 113: Line 179:
</pre>
</pre>


backups through crontab:
* installation log: [[How to install wiki-to-print?]]
 
# every night at 3:33
33 3 * * * mysqldump --user=wiki --password=XXX wikidb > /var/www/html/wiki/ wikidb_backup.sql
33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml > /var/www/html/wiki/wikidb_backup.xml


==cobbled-paths==
==cobbled-paths==
Line 128: Line 190:
  /home/manetta/public_html/
  /home/manetta/public_html/
  /home/simoon/public_html/
  /home/simoon/public_html/
/home/friends/public_html/
 
===home folders===
 
<pre>
# user directories!! public_html folders
location ~ ^/~(.+?)(/.*)?$ {
    add_header Access-Control-Allow-Origin *;
    alias /home/$1/public_html$2;
    index index.html index.htm;
    autoindex on;
}
</pre>
 
For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):
 
sudo chmod 755 /home/*


==certbot==
==certbot==

Latest revision as of 13:04, 24 January 2026

debian

  • OVH server: debian 11 (bullseye)
  • Servus server: debian 12 (bookworm)
  • latest stable: debian 13 (trixie)

apt

OVH server

  • sources: /etc/apt/sources.list
deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
deb http://deb.debian.org/debian bullseye-backports main
deb-src http://deb.debian.org/debian bullseye-backports main

backports were added for cobbled-paths installation?

i think we can do without when we upgrade to trixie on the Servus server

Servus server

upgrading from bookworm to trixie: https://www.debian.org/releases/trixie/release-notes/upgrading.en.html

  • sources: /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware non-free contrib
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware non-free contrib
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

etherpad

installed

/opt/etherpad/

runs as user etherpad

database

sqlite

  • 878MB on 7 Nov 2025
  • 917MB on 11 Dec 2025
  • 942MB on 23 Jan 2026

systemd

sudo systemctl status etherpad
sudo systemctl start etherpad
sudo systemctl stop etherpad
sudo systemctl restart etherpad
[Unit]
Description=etherpad (real-time collaborative document editor)
After=syslog.target network.target

[Service]
Type=simple
User=etherpad
Group=etherpad
#WorkingDirectory=/opt/etherpad
Environment=NODE_ENV=production
#ExecStart=pnpm run prod
ExecStart=/bin/sh /opt/etherpad/bin/run.sh
Restart=always

StandardOutput=append:/var/log/etherpad/etherpad.log
StandardError=append:/var/log/etherpad/etherpad-error.log

[Install]
WantedBy=multi-user.target

logs

sudo tail -f /var/log/etherpad/etherpad.log
sudo tail -f /var/log/etherpad/etherpad-error.log

backups

  • crontab: every night at 5.55 /opt/etherpad/etherpad.db is copied to /opt/etherpad/etherpad_backup.db (just in case)

installation on Servus server

see: Install_Etherpad-lite

mediawiki

/var/www/html/wiki/
/opt/wiki/

nginx

Followed this for the nginx config: https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx

backups

backups through crontab:

# every night at 3:33
33 3 * * * mysqldump --user=wiki --password=XXX wikidb > /var/www/html/wiki/ wikidb_backup.sql
33 3 * * * mysqldump --user=wiki --password=XXX wikidb --xml > /var/www/html/wiki/wikidb_backup.xml

octomode

/var/www/octomode/
  • flask application
  • runs on port 3333
  • /etc/systemd/system/octomode.service
[Unit]
Description=Collective PDF rendering environment
After=network.target

[Service]
User=octomode
WorkingDirectory=/var/www/octomode
ExecStart=/usr/bin/make action
Restart=always
StandardOutput=append:/var/log/octomode/octomode.log
StandardError=append:/var/log/octomode/octomode.log

[Install]
WantedBy=multi-user.target

wiki-to-print

/opt/wiki-to-print/
  • flask application
  • runs on port 4444
  • /etc/systemd/system/wiki-to-print.service
  • currently running with gunicorn, timeout turned off (after the server move the application timed out on larger documents)
[Unit]
Description=wiki-to-print
After=network.target

[Service]
User=wikitoprint
WorkingDirectory=/opt/wiki-to-print/wiki-to-print/
ExecStart=/usr/bin/make server
Restart=always
StandardOutput=append:/var/log/wiki-to-print/wiki-to-print.log
StandardError=append:/var/log/wiki-to-print/wiki-to-print.log

[Install]
WantedBy=multi-user.target

cobbled-paths

/var/www/cobbled-paths/

nginx

/var/www/html/
/home/manetta/public_html/
/home/simoon/public_html/

home folders

# user directories!! public_html folders
location ~ ^/~(.+?)(/.*)?$ {
    add_header Access-Control-Allow-Origin *;
    alias /home/$1/public_html$2;
    index index.html index.htm;
    autoindex on;
}

For the public_html folders to work after a fresh install, the permissions of home folders need to be adjusted (??):

sudo chmod 755 /home/*

certbot

auto-renewal through crontab:

# every night at 04:44
44 4 * * * certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --quiet