Difference between revisions of "ProjectInfrastructure"

From RackTables Wiki
Jump to navigation Jump to search
m (→‎Git repositories: use --mirror)
(describe code.racktables.org)
 
(3 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
Please think twice before changing any of the list-wide settings on the "Edit List Config" menu, these settings influence all subscribers of racktables-users.
 
Please think twice before changing any of the list-wide settings on the "Edit List Config" menu, these settings influence all subscribers of racktables-users.
  
=== Bug tracker, wiki, demo host ===
+
=== Most web-sites (demo, bugs, wiki, www) ===
Arnaud Launay is the administrator of the server hosting this wiki, Mantis and the RackTables demo. To get SSH access there, be a team member and find someone who already has access.
+
Arnaud Launay is the server administrator. To get SSH access there, be a team member and find someone who already has access.
 +
 
 +
=== git mirrors (code) ===
 +
The [https://code.racktables.org/ git mirror server] exists to provide backups in case github.com goes kaput. The most up to date copies are available through both a web-interface (gitweb) and git clone URLs, for example:
 +
git clone https://code.racktables.org/racktables
 +
Cloning into 'racktables'...
 +
The server synchronizes each repository both hourly and after a new commit appears on github.com (via a webhook). It also keeps up to 90 days of backups for every repository.
 +
 
 +
This cannot be hosted with the other servers because the git mirror server notifies the MantisBT server so the source control integration fetches new changes into its database. However, the TCP connection does not establish within the same network, it needs to originate from outside.
  
 
=== Statistics ===
 
=== Statistics ===
SF download stats work for the downloads. Google analytics works for the content of racktables.org and demo.racktables.org.
+
SF download stats work for the downloads. Google analytics works for the content of racktables.org and demo.racktables.org (it does not currently display its admin interface in every browser).
=== racktables.org ===
+
 
SourceForge project vhost.
 
 
=== downloads ===
 
=== downloads ===
SourceForge project FRS.
+
SourceForge project FRS (File Release System, a CDN of sorts).
 
----
 
----
  
Line 36: Line 43:
 
  git clone --mirror git://github.com/RackTables/racktables-contribs.git racktables-contribs.git
 
  git clone --mirror git://github.com/RackTables/racktables-contribs.git racktables-contribs.git
  
===SourceForge data===
+
===Bug tracker, wiki data, www===
Backup stuff accessible from SF SSH only:
 
ssh -t YOUR_SF_USERNAME,racktables@shell.sourceforge.net create
 
tar czf racktables.org.tar.gz /home/project-web/racktables/htdocs/
 
 
sf-help | fgrep 'ssh -p'
 
# Note the hostname and the port and copy the files from SF shell to the backup directory:
 
scp -P 24006 YOUR_SF_USERNAME@shell4.sourceforge.net:~/racktables.org.tar.gz .
 
 
# in SF shell again
 
rm racktables.org.tar.gz
 
shutdown
 
 
 
===Bug tracker, wiki data===
 
 
SSH into the host and create a new backup directory.
 
SSH into the host and create a new backup directory.
 
  mkdir ~/RackTables-apps-backup
 
  mkdir ~/RackTables-apps-backup
Line 57: Line 51:
 
  tar czf bugs.tar.gz ~/www/bugs
 
  tar czf bugs.tar.gz ~/www/bugs
 
  tar czf wiki.tar.gz ~/www/wiki
 
  tar czf wiki.tar.gz ~/www/wiki
 +
tar czf www.tar.gz ~/www/www
  
 
Export the database for each application.
 
Export the database for each application.
Line 69: Line 64:
 
* racktables-contribs.git
 
* racktables-contribs.git
 
* racktables-users.txt
 
* racktables-users.txt
* racktables.org.tar.gz
 
 
* RackTables-apps-backup
 
* RackTables-apps-backup
 
** wiki.tar.gz
 
** wiki.tar.gz
Line 75: Line 69:
 
** bugs.tar.gz
 
** bugs.tar.gz
 
** bugs.sql
 
** bugs.sql
 +
** www.tar.gz
 
'''SAVE THE BACKUP FOLDER TO A SAFE PLACE'''
 
'''SAVE THE BACKUP FOLDER TO A SAFE PLACE'''

Latest revision as of 20:46, 20 August 2021

Mapping of assets

DNS

racktables.org domain is currently registered through GoDaddy, which also provides 2 free nameservers. Aaron manages the domain.

racktables.org mail

racktables.org mail is handled by zohomail.com. Zoho Mail offers free service for up to three e-mail addresses. Two mailing lists exist, "devteam" and "info", which are setup to forward all messages to every development team member.

racktables-users mail

FreeLists is a great free service without accompanying advertisements. The only drawback about it is that it is non-profit and can go down some day, hence make sure the list of subscribers is present in a recent backup tarball.

To manage the mailing list, go to this page and use the form to the left. Input your email subscribed to the list. If you don't remember your password, log in with an empty password, in this case the system will email you a one-time token to input on the next screen. Once logged in, you will see a very long SELECT with all lists of FreeLists. Click on the SELECT and press "r" to get to items starting with R. Select racktables-users and press "Select list" below. On the next screen press "Admin Menu". To manage individual subscribers, select one on the "Current List Users" SELECT and press "User Options". VACATION, MODPOST and NOPOST are the most frequently used flags, their meaning is explained inline.

Please think twice before changing any of the list-wide settings on the "Edit List Config" menu, these settings influence all subscribers of racktables-users.

Most web-sites (demo, bugs, wiki, www)

Arnaud Launay is the server administrator. To get SSH access there, be a team member and find someone who already has access.

git mirrors (code)

The git mirror server exists to provide backups in case github.com goes kaput. The most up to date copies are available through both a web-interface (gitweb) and git clone URLs, for example:

git clone https://code.racktables.org/racktables
Cloning into 'racktables'...

The server synchronizes each repository both hourly and after a new commit appears on github.com (via a webhook). It also keeps up to 90 days of backups for every repository.

This cannot be hosted with the other servers because the git mirror server notifies the MantisBT server so the source control integration fetches new changes into its database. However, the TCP connection does not establish within the same network, it needs to originate from outside.

Statistics

SF download stats work for the downloads. Google analytics works for the content of racktables.org and demo.racktables.org (it does not currently display its admin interface in every browser).

downloads

SourceForge project FRS (File Release System, a CDN of sorts).


Backup procedure

the backup directory

mkdir RackTables-project-backup-`date +%Y%m%d`
cd RackTables-project-backup-`date +%Y%m%d`

racktables-users mailing list

Send an empty email with subject "who racktables-users" to ecartis@freelists.org and you will get a list of all subscribers. Save it to the backup directory as "racktables-users.txt".

Git repositories

git clone --mirror git://github.com/RackTables/racktables.git racktables.git
git clone --mirror git://github.com/RackTables/racktables-contribs.git racktables-contribs.git

Bug tracker, wiki data, www

SSH into the host and create a new backup directory.

mkdir ~/RackTables-apps-backup
cd ~/RackTables-apps-backup

Copy the applications into the backup directory on the server. This is important because they contain uploaded files and configuration settings.

tar czf bugs.tar.gz ~/www/bugs
tar czf wiki.tar.gz ~/www/wiki
tar czf www.tar.gz ~/www/www

Export the database for each application.

mysqldump -u <username> -p <dbname> > bugs.sql
mysqldump -u <username> -p <dbname> > wiki.sql

SCP the remote server directory to the local backup directory, then remove it from the server.

Final check

Now the backup directory must have these files/directories:

  • racktables.git
  • racktables-contribs.git
  • racktables-users.txt
  • RackTables-apps-backup
    • wiki.tar.gz
    • wiki.sql
    • bugs.tar.gz
    • bugs.sql
    • www.tar.gz

SAVE THE BACKUP FOLDER TO A SAFE PLACE