Skip to content
Lars Vogdt edited this page Jan 29, 2024 · 3 revisions

Welcome to the MirrorCache wiki!

Overview

Directory overview

Directory Usage
/etc/mirrorcache Main configuration directory.
/usr/lib/systemd/system systemd startup files.
/usr/lib/sysusers.d Contains information about the user and group used by MirrorCache.
/usr/lib/tmpfiles.d MirrorCache uses tmp-directories for caching (see below). This directory contains the setup instructions for these directories.
/usr/sbin Startup files for the daemons.
/usr/share/doc/packages/MirrorCache Documentation.
/usr/share/licenses/MirrorCache License information.
/usr/share/mirrorcache Base installation directory of MirrorCache.
/usr/share/mirrorcache/templates/branding Directory containing brandings for the WebUI (in subdirectories).
/run/mirrorcache Used to store the PID file.
/var/lib/mirrorcache home directory of the mirrorcache user. This user is used to run the daemons.

Daemons

A short overview about the different daemons, that provide all MirrorCache services. For a more detailed description, please see the following pages.

Systemd startup filename Required Recommended Config file Description
mirrorcache-backstage-hashes.service no yes conf.env & conf-hashes.env MirrorCache daemon for file hashes calculation jobs.
mirrorcache-backstage.service (yes) yes conf.env MirrorCache daemon for background jobs. Required, if you start any other mirrorcache-* service.
mirrorcache-hypnotoad.service no yes conf.env MirrorCache webApp. Required for mirrorcache-subtree WebApp.
mirrorcache-subtree.service no yes conf.env & conf-subtree.env MirrorCache subtree webApp.
mirrorcache.service no conf.env Enhanced MirrorCache webApp.

Basic recommendations

We recommend to use a dedicated machine for the installation of MirrorCache.

  • 2 CPUs
  • 8 GB RAM
  • 8 GB filesystem for the base system

openSUSE installation

Please use the latest openSUSE Leap or openSUSE Tumbleweed version.

# AS USER root
zypper ar -f obs://openSUSE:infrastructure:MirrorCache MirrorCache
zypper ref -s
zypper in MirrorCache postgresql-server

If you already have a PostgreSQL cluster up and running or plan a huge installation, feel free to skip the installation of the PostgreSQL server on the MirrorCache host.

Configuration

Basically, MirrorCache uses environment files that contains simple key <-> value assignments, as known in many simple configuration files.

These configuration files should be stored below /etc/mirrorcache/ named conf.env. Some daemons might use other configuration files in addition, as listed in the daemons table above.

key comment
MIRRORCACHE_BACKSTAGE_WORKERS Amount of backstage workers.
MIRRORCACHE_BRANDING Which branding to use for the WebUI. Must be the name of a directory below /usr/share/mirrorcache/templates/branding/
MIRRORCACHE_CITY_MMDB GeoLite2 database file for the IP region lookup (in .mmdb format).
MIRRORCACHE_DBHOST IP or DNS of the machine running the database.
MIRRORCACHE_DBPASS Database password.
MIRRORCACHE_DB_PROVIDER Usually 'postgresql'.
MIRRORCACHE_DBUSER User of the database.
MIRRORCACHE_HASHES_COLLECT Boolean (0=no; 1=yes): create hashes for files or not?
MIRRORCACHE_METALINK_GREEDY If more than this amount of mirrors is available, exclude the own URL from metalink (meta4 XML) referrals.
MIRRORCACHE_METALINK_PUBLISHER The name of the metalink publisher. To be included in the meta4 XML.
MIRRORCACHE_METALINK_PUBLISHER_URL The URL of the metalink publisher. To be included in the meta4 XML.
MIRRORCACHE_PROXY_URL The complete URL of the proxy server in front of MirrorCache.
MIRRORCACHE_ROOT_COUNTRY The (2 char) country code of the MirrorCache server location.
MIRRORCACHE_ROOT List of base directories.
MIRRORCACHE_ROOT_LONGITUDE Longitude of the MirrorCache server location.
MIRRORCACHE_STAT_FLUSH_COUNT How many statistic entries (of mirrors) should be collected?
MIRRORCACHE_TOP_FOLDERS Base directory mainly for various MirrorCache data (stored in sub-directories) stored on local disk like metalink hashes as example. Routes to directories below these folder are handled differently than routes for dynamic (DB) content like /rest or /app.
MIRRORCACHE_VPN_PREFIX If there are users connecting to an internal MirrorCache instance via VPN, add the prefix here to notify MirrorCache that there might be no optimal mirror for them.
MIRRORCACHE_WORKERS Amount of background workers.
MIRRORCACHE_ZSYNC_COLLECT Which file ending should be used for zync?
MOJO_LISTEN Address to listen on for the Mojo service.
MOJO_MODE Mode of the Mojo service.
MOJO_PUBSUB_EXPERIMENTAL Set the (boolean) experimental flag for the Mojo service.
MOJO_REVERSE_PROXY Set this (boolean) flag, if the service runs behind a reverse proxy.
Clone this wiki locally