---
title: Charmhub | Deploy Ubuntu Repository Cache using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Ubuntu Repository Cache on any cloud.
url: https://charmhub.io/ubuntu-repository-cache/configurations
---

# Ubuntu Repository Cache

[Ubuntu Repository Cache Charmers](https://charmhub.io/publisher/ubuntu-repository-cache-charmers "View all packages from Ubuntu Repository Cache Charmers")

* [Ubuntu Repository Cache Charmers](https://charmhub.io/publisher/ubuntu-repository-cache-charmers "View all packages from Ubuntu Repository Cache Charmers")
* [Networking](https://charmhub.io/?filter=networking)

Platform:

24.04

22.04

20.04

18.04

16.04

14.04

stable b52942c-dirty

```
juju deploy ubuntu-repository-cache
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [admin\_email](https://charmhub.io/ubuntu-repository-cache/configurations#admin_email)
* [apache2\_mpm\_maxconnectionsperchild](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_maxconnectionsperchild)
* [apache2\_mpm\_maxrequestworkers](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_maxrequestworkers)
* [apache2\_mpm\_maxsparethreads](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_maxsparethreads)
* [apache2\_mpm\_minsparethreads](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_minsparethreads)
* [apache2\_mpm\_serverlimit](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_serverlimit)
* [apache2\_mpm\_startservers](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_startservers)
* [apache2\_mpm\_threadlimit](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_threadlimit)
* [apache2\_mpm\_threadsperchild](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_threadsperchild)
* [apache2\_mpm\_type](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_mpm_type)
* [apache2\_server\_signature](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_server_signature)
* [apache2\_server\_tokens](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_server_tokens)
* [apache2\_trace\_enabled](https://charmhub.io/ubuntu-repository-cache/configurations#apache2_trace_enabled)
* [bypass-squid-deb-proxy](https://charmhub.io/ubuntu-repository-cache/configurations#bypass-squid-deb-proxy)
* [cache-max-object-size](https://charmhub.io/ubuntu-repository-cache/configurations#cache-max-object-size)
* [cache-max-object-size-in-memory](https://charmhub.io/ubuntu-repository-cache/configurations#cache-max-object-size-in-memory)
* [cache-memory-size](https://charmhub.io/ubuntu-repository-cache/configurations#cache-memory-size)
* [cache-storage-size](https://charmhub.io/ubuntu-repository-cache/configurations#cache-storage-size)
* [cache-swap-high](https://charmhub.io/ubuntu-repository-cache/configurations#cache-swap-high)
* [cache-swap-low](https://charmhub.io/ubuntu-repository-cache/configurations#cache-swap-low)
* [display-host](https://charmhub.io/ubuntu-repository-cache/configurations#display-host)
* [enable-https](https://charmhub.io/ubuntu-repository-cache/configurations#enable-https)
* [enable\_healthcheck](https://charmhub.io/ubuntu-repository-cache/configurations#enable_healthcheck)
* [enable\_sendfile](https://charmhub.io/ubuntu-repository-cache/configurations#enable_sendfile)
* [enable\_sync-host\_monitoring](https://charmhub.io/ubuntu-repository-cache/configurations#enable_sync-host_monitoring)
* [ephemeral-devices](https://charmhub.io/ubuntu-repository-cache/configurations#ephemeral-devices)
* [extra\_packages](https://charmhub.io/ubuntu-repository-cache/configurations#extra_packages)
* [install\_keys](https://charmhub.io/ubuntu-repository-cache/configurations#install_keys)
* [install\_sources](https://charmhub.io/ubuntu-repository-cache/configurations#install_sources)
* [leader\_unit](https://charmhub.io/ubuntu-repository-cache/configurations#leader_unit)
* [logrotate\_count](https://charmhub.io/ubuntu-repository-cache/configurations#logrotate_count)
* [logrotate\_dateext](https://charmhub.io/ubuntu-repository-cache/configurations#logrotate_dateext)
* [logrotate\_rotate](https://charmhub.io/ubuntu-repository-cache/configurations#logrotate_rotate)
* [mirror-series](https://charmhub.io/ubuntu-repository-cache/configurations#mirror-series)
* [nagios\_context](https://charmhub.io/ubuntu-repository-cache/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/ubuntu-repository-cache/configurations#nagios_servicegroups)
* [package\_status](https://charmhub.io/ubuntu-repository-cache/configurations#package_status)
* [path-base](https://charmhub.io/ubuntu-repository-cache/configurations#path-base)
* [remoteip\_logging](https://charmhub.io/ubuntu-repository-cache/configurations#remoteip_logging)
* [rsync-host](https://charmhub.io/ubuntu-repository-cache/configurations#rsync-host)
* [rsync-module](https://charmhub.io/ubuntu-repository-cache/configurations#rsync-module)
* [squid\_dns\_v4\_first](https://charmhub.io/ubuntu-repository-cache/configurations#squid_dns_v4_first)
* [squid\_snmp](https://charmhub.io/ubuntu-repository-cache/configurations#squid_snmp)
* [sync-age-crit](https://charmhub.io/ubuntu-repository-cache/configurations#sync-age-crit)
* [sync-age-warn](https://charmhub.io/ubuntu-repository-cache/configurations#sync-age-warn)
* [sync-disabled](https://charmhub.io/ubuntu-repository-cache/configurations#sync-disabled)
* [sync-host](https://charmhub.io/ubuntu-repository-cache/configurations#sync-host)
* [sync-on-start](https://charmhub.io/ubuntu-repository-cache/configurations#sync-on-start)
* [update-unit-apt-sources](https://charmhub.io/ubuntu-repository-cache/configurations#update-unit-apt-sources)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* admin\_email | string

  Email to use to send mail.
* apache2\_mpm\_maxconnectionsperchild | int

  Maximum number of requests a server process serves
* apache2\_mpm\_maxrequestworkers | int

  Maximum number of simultaneous client connections (0 means autocalculate)
* apache2\_mpm\_maxsparethreads | int

  Maximum number of worker threads which are kept spare (0 means auto calculate)
* apache2\_mpm\_minsparethreads | int

  Minimum number of worker threads which are kept spare (0 means auto calculate)
* apache2\_mpm\_serverlimit | int

  Upper limit on configurable number of processes (0 means autocalculate)
* apache2\_mpm\_startservers | int

  Initial number of server processes to start (0 means auto calculate)
* apache2\_mpm\_threadlimit | int

  Sets the upper limit on the configurable number of threads per
  child process (0 means autocalculate with max. 2560; override here)
* apache2\_mpm\_threadsperchild | int

  Constant number of worker threads in each server process (0 means autocalculate)
* apache2\_mpm\_type | string

  Default: worker

  Select the worker or prefork multi-processing module
* apache2\_server\_signature | string

  Default: On

  Security setting. Set to one of On Off EMail
* apache2\_server\_tokens | string

  Default: OS

  Security setting. Set to one of Full OS Minimal Minor Major Prod
* apache2\_trace\_enabled | string

  Default: Off

  Security setting. Set to one of On Off extended
* bypass-squid-deb-proxy | boolean

  Serve /pool requests directly from sync-host, bypassing the local squid cache.

  Enable this when the traffic level exceeds that which squid can handle, or for debugging.
* cache-max-object-size | string

  Default: 512 MB

  Maximum size of an object that will be stored on disk by squid.
* cache-max-object-size-in-memory | string

  Default: 2 MB

  Maximum size of an object that will be stored in memory by squid.
* cache-memory-size | int

  Configurable option (in MBytes) to tune/override memory used by
  squid cache. If 0 or unset, then auto-calculate.
* cache-storage-size | int

  Configurable option (in MBytes) to tune/override storage used by
  squid cache. If 0 or unset, then auto-calculate.
* cache-swap-high | int

  Default: 75

  Configurable option to tune/override the high-water mark for cache object
  eviction.
* cache-swap-low | int

  Default: 70

  Configurable option to tune/override the low-water mark for cache object
  eviction.
* display-host | string

  Default: archive.ubuntu.com

  The hostname displayed in certain contexts, for example Apache
  directory listings. This is not required to be exactly the same as
  the logical hostname of the deployment (for example,
  region.cloud.archive.ubuntu.com can use the default
  archive.ubuntu.com), but should be changed if the archive type is
  non-default (e.g. ports.ubuntu.com).
* enable-https | boolean

  Enable HTTPS
* enable\_healthcheck | boolean

  Default: True

  Enables health-check endpoint for load-balancers or frontends to use.
  This endpoint will check both metadata served from local storage as well
  as pool files via the locally running squid-deb-proxy service.
* enable\_sendfile | boolean

  Enables Sendfile (https://httpd.apache.org/docs/2.4/mod/core.html#enablesendfile) and
  deactivate MMAP (https://httpd.apache.org/docs/2.4/mod/core.html#enablemmap)
* enable\_sync-host\_monitoring | boolean

  Enable periodic mtr outputs to configured sync-host
* ephemeral-devices | string

  Provide a comma-separated list of storages devices to use for
  metadata and squid cache storage. Leave this empty if only
  the root disk will be used. the device(s) will be formatted
  and mounted during charm installation. This option must be set
  at in itial charm deployment. Changes after deployment will not
  effect running units, only newly added units. An example would be
  '/dev/xvdb,/dev/xvdc' to specify two ephemeral disks for cache
  storage.
* extra\_packages | string

  Space separated list of extra deb packages to install.
* install\_keys | string

  List of signing keys for install\_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
* install\_sources | string

  List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
* leader\_unit | string

  Override and specify leader unit used for metadata sync. (e.g. ubuntu-repository-cache/1)
* logrotate\_count | int

  Default: 21

  The number of days we want to retain logs for
* logrotate\_dateext | boolean

  Default: True

  Use daily extension like YYYMMDD instead of simply adding a number
* logrotate\_rotate | string

  Default: daily

  daily, weekly, monthly, or yearly?
* mirror-series | string

  A space-separated list of ubuntu series metadata to mirror. An empty
  or blank string will mirror everything.
* nagios\_context | string

  Default: juju

  A string that will be prepended to instance name to set the host name
  in nagios. So for instance the hostname would be something like:
  juju-myservice-0
  If you're running multiple environments with the same services in them
  this allows you to differentiate between them.
* nagios\_servicegroups | string

  A comma-separated list of nagios servicegroups.
  If left empty, the nagios\_context will be used as the servicegroup
* package\_status | string

  Default: install

  The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
* path-base | string

  Default: ubuntu

  The base URI path of the site you want to mirror. At the moment, this
  may only be a single-level base (no directory slashes).
  Default is ubuntu.
* remoteip\_logging | boolean

  Enables configuration that treats incoming connections to Apache from
  RFC1918 addresses as proxy connections and logs the contents of the
  X-Forwarded-For header (if any) to the Apache logs.
* rsync-host | string

  The DNS or IP of the mirror to rsync the Ubuntu Archive metadata from.
* rsync-module | string

  Default: ubuntu

  The rsync module to sync from on sync-host, normally the same as
  path-base. Default is ubuntu.
* squid\_dns\_v4\_first | boolean

  If true, prefer IPv4 addresses for dual-stack sites.
* squid\_snmp | boolean

  Enable SNMP for Squid (bound on localhost:3401, community "public")
* sync-age-crit | int

  Default: 21600

  Age (in seconds) of CRITICAL level in Nagios check for cache sync.
* sync-age-warn | int

  Default: 10800

  Age (in seconds) of WARNING level in Nagios check for cache sync.
* sync-disabled | boolean

  Disable periodic metadata / index sync when required.
* sync-host | string

  Default: archive.ubuntu.com

  The DNS or IP of the site you want to mirror.
  Default is archive.ubuntu.com.
* sync-on-start | boolean

  Default: True

  Pull data from the sync-host during inital charm deployment. This
  should be true if deploying a single unit and false if deploying
  multiple units to reduce initial startup time.
* update-unit-apt-sources | boolean

  Default: True

  Whether to configure the units' sources.list to point to upstream
  sync-host directly, to avoid chicken/egg problems when bootstrapping
  a cloud. Default is true; disable if mirrored distro or archive type
  does not match the unit host.
