chiark / gitweb /
Merge branch 'support-xml-json-yaml-for-metadata' into 'master'
[fdroidserver.git] / examples / config.py
1 #!/usr/bin/env python2
2
3 # Copy this file to config.py, then amend the settings below according to
4 # your system configuration.
5
6 # Custom path to the Android SDK, defaults to $ANDROID_HOME
7 # sdk_path = "/opt/android-sdk"
8
9 # Custom paths to various versions of the Android NDK, defaults to 'r10e' set
10 # to $ANDROID_NDK.  Most users will have the latest at $ANDROID_NDK, which is
11 # used by default.  If a version is missing or assigned to None, it is assumed
12 # not installed.
13 # ndk_paths = {
14 #    'r9b': "/opt/android-ndk-r9b",
15 #    'r10e': "/opt/android-ndk",
16 # }
17
18 # Build tools version to be used
19 build_tools = "22.0.1"
20
21 # Command or path to binary for running Ant
22 ant = "ant"
23
24 # Command or path to binary for running maven 3
25 mvn3 = "mvn"
26
27 # Command or path to binary for running Gradle
28 gradle = "gradle"
29
30 # Set the maximum age (in days) of an index that a client should accept from
31 # this repo. Setting it to 0 or not setting it at all disables this
32 # functionality. If you do set this to a non-zero value, you need to ensure
33 # that your index is updated much more frequently than the specified interval.
34 # The same policy is applied to the archive repo, if there is one.
35 repo_maxage = 0
36
37 repo_url = "https://MyFirstFDroidRepo.org/fdroid/repo"
38 repo_name = "My First F-Droid Repo Demo"
39 repo_icon = "fdroid-icon.png"
40 repo_description = """
41 This is a repository of apps to be used with F-Droid. Applications in this
42 repository are either official binaries built by the original application
43 developers, or are binaries built from source by the admin of f-droid.org
44 using the tools on https://gitlab.com/u/fdroid.
45 """
46
47 # As above, but for the archive repo.
48 # archive_older sets the number of versions kept in the main repo, with all
49 # older ones going to the archive. Set it to 0, and there will be no archive
50 # repository, and no need to define the other archive_ values.
51 archive_older = 3
52 archive_url = "https://f-droid.org/archive"
53 archive_name = "My First F-Droid Archive Demo"
54 archive_icon = "fdroid-icon.png"
55 archive_description = """
56 The repository of older versions of applications from the main demo repository.
57 """
58
59 # Normally, all apps are collected into a single app repository, like on
60 # https://f-droid.org.  For certain situations, it is better to make a repo
61 # that is made up of APKs only from a single app.  For example, an automated
62 # build server that publishes nightly builds.
63 # per_app_repos = True
64
65 # `fdroid update` will create a link to the current version of a given app.
66 # This provides a static path to the current APK.  To disable the creation of
67 # this link, uncomment this:
68 # make_current_version_link = False
69
70 # By default, the "current version" link will be based on the "Name" of the
71 # app from the metadata.  You can change it to use a different field from the
72 # metadata here:
73 # current_version_name_source = 'id'
74
75 # Optionally, override home directory for gpg
76 # gpghome = /home/fdroid/somewhere/else/.gnupg
77
78 # The ID of a GPG key for making detached signatures for apks. Optional.
79 # gpgkey = '1DBA2E89'
80
81 # The key (from the keystore defined below) to be used for signing the
82 # repository itself.  This is the same name you would give to keytool or
83 # jarsigner using -alias.  (Not needed in an unsigned repository).
84 # repo_keyalias = "fdroidrepo"
85
86 # Optionally, the public key for the key defined by repo_keyalias above can
87 # be specified here. There is no need to do this, as the public key can and
88 # will be retrieved from the keystore when needed. However, specifying it
89 # manually can allow some processing to take place without access to the
90 # keystore.
91 # repo_pubkey = "..."
92
93 # The keystore to use for release keys when building. This needs to be
94 # somewhere safe and secure, and backed up!  The best way to manage these
95 # sensitive keys is to use a "smartcard" (aka Hardware Security Module). To
96 # configure F-Droid to use a smartcard, set the keystore file using the keyword
97 # "NONE" (i.e. keystore = "NONE").  That makes Java find the keystore on the
98 # smartcard based on 'smartcardoptions' below.
99 # keystore = "~/.local/share/fdroidserver/keystore.jks"
100
101 # You should not need to change these at all, unless you have a very
102 # customized setup for using smartcards in Java with keytool/jarsigner
103 # smartcardoptions = "-storetype PKCS11 -providerName SunPKCS11-OpenSC \
104 #    -providerClass sun.security.pkcs11.SunPKCS11 \
105 #    -providerArg opensc-fdroid.cfg"
106
107 # The password for the keystore (at least 6 characters).  If this password is
108 # different than the keypass below, it can be OK to store the password in this
109 # file for real use.  But in general, sensitive passwords should not be stored
110 # in text files!
111 # keystorepass = "password1"
112
113 # The password for keys - the same is used for each auto-generated key as well
114 # as for the repository key.  You should not normally store this password in a
115 # file since it is a sensitive password.
116 # keypass = "password2"
117
118 # The distinguished name used for all keys.
119 keydname = "CN=Birdman, OU=Cell, O=Alcatraz, L=Alcatraz, S=California, C=US"
120
121 # Use this to override the auto-generated key aliases with specific ones
122 # for particular applications. Normally, just leave it empty.
123 keyaliases = {}
124 keyaliases['com.example.app'] = 'example'
125 # You can also force an app to use the same key alias as another one, using
126 # the @ prefix.
127 keyaliases['com.example.another.plugin'] = '@com.example.another'
128
129
130 # The full path to the root of the repository.  It must be specified in
131 # rsync/ssh format for a remote host/path. This is used for syncing a locally
132 # generated repo to the server that is it hosted on.  It must end in the
133 # standard public repo name of "/fdroid", but can be in up to three levels of
134 # sub-directories (i.e. /var/www/packagerepos/fdroid).  You can include
135 # multiple servers to sync to by wrapping the whole thing in {} or [], and
136 # including the serverwebroot strings in a comma-separated list.
137 #
138 # serverwebroot = 'user@example:/var/www/fdroid'
139 # serverwebroot = {
140 #     'foo.com:/usr/share/nginx/www/fdroid',
141 #     'bar.info:/var/www/fdroid',
142 #     }
143
144
145 # optionally specific which identity file to use when using rsync over SSH
146 #
147 # identity_file = '~/.ssh/fdroid_id_rsa'
148
149
150 # If you are running the repo signing process on a completely offline machine,
151 # which provides the best security, then you can specify a folder to sync the
152 # repo to when running `fdroid server update`.  This is most likely going to
153 # be a USB thumb drive, SD Card, or some other kind of removable media.  Make
154 # sure it is mounted before running `fdroid server update`.  Using the
155 # standard folder called 'fdroid' as the specified folder is recommended, like
156 # with serverwebroot.
157 #
158 # local_copy_dir = '/media/MyUSBThumbDrive/fdroid'
159
160
161 # If you are using local_copy_dir on an offline build/signing server, once the
162 # thumb drive has been plugged into the online machine, it will need to be
163 # synced to the copy on the online machine.  To make that happen
164 # automatically, set sync_from_local_copy_dir to True:
165 #
166 # sync_from_local_copy_dir = True
167
168
169 # To upload the repo to an Amazon S3 bucket using `fdroid server update`.
170 # Warning, this deletes and recreates the whole fdroid/ directory each
171 # time. This is based on apache-libcloud, which supports basically all cloud
172 # storage services, so it should be easy to port the fdroid server tools to
173 # any of them.
174 #
175 # awsbucket = 'myawsfdroid'
176 # awsaccesskeyid = 'SEE0CHAITHEIMAUR2USA'
177 # awssecretkey = 'yourverysecretkeywordpassphraserighthere'
178
179
180 # If you want to force 'fdroid server' to use a non-standard serverwebroot
181 #
182 # nonstandardwebroot = False
183
184
185 # Wiki details
186 wiki_protocol = "http"
187 wiki_server = "server"
188 wiki_path = "/wiki/"
189 wiki_user = "login"
190 wiki_password = "1234"
191
192 # Only set this to true when running a repository where you want to generate
193 # stats, and only then on the master build servers, not a development
194 # machine.
195 update_stats = False
196
197 # When used with stats, this is a list of IP addresses that are ignored for
198 # calculation purposes.
199 stats_ignore = []
200
201 # Server stats logs are retrieved from. Required when update_stats is True.
202 stats_server = "example.com"
203
204 # User stats logs are retrieved from. Required when update_stats is True.
205 stats_user = "bob"
206
207 # Use the following to push stats to a Carbon instance:
208 stats_to_carbon = False
209 carbon_host = '0.0.0.0'
210 carbon_port = 2003
211
212 # Set this to true to always use a build server. This saves specifying the
213 # --server option on dedicated secure build server hosts.
214 build_server_always = False
215
216 # By default, fdroid will use YAML and the custom .txt metadata formats.  It
217 # is also possible to have metadata in JSON and XML. You can enable your
218 # preferred formats by setting them in a list:
219 # accepted_formats = ['json', 'txt', 'xml', 'yaml']
220
221 # Limit in number of characters that fields can take up
222 # Only the fields listed here are supported, defaults shown
223 char_limits = {
224     'Summary': 50,
225     'Description': 1500,
226 }