-
Notifications
You must be signed in to change notification settings - Fork 68
Configuration
The main Artipie configuration is a yaml
file, the file is required to start the service.
Location of this file can be passed as a parameter to Java application (Artipie jar
package)
with --config-file
(or short alternative -f
) option. Artipie docker image default location
of this file is /etc/artipie/artipie.yml
.
Yaml configuration file contains server meta configuration, such as:
-
storage
- repositories definition storage config, required; -
credentials
- user credentials config; -
configs
- repository config files location, not required, the storage key relative to the main storage, or, in file system storage terms, subdirectory where repo configs are located relatively to the storage; -
metrics
- enable and set metrics collection, not required.
Example:
# /etc/artipie/artipie.yml
meta:
storage:
type: fs
path: /tmp/artipie/configs
configs: repo
http_client: # optional, settings for the HttpClient that will be used in xxx-proxy repositories
connection_timeout: 25000 # optional, default 15000 ms
idle_timeout: 500 # optional, default 0
trust_all: true # optional, default false
follow_redirects: true # optional, default true
http3: true # optional, default false
jks: # optional
path: /var/artipie/keystore.jks
password: secret
proxies:
- url: http://proxy1.com
- url: https://proxy2.com
# the HTTP "Basic" authentication defined in RFC 2617
realm: user_realm # if this field is defined, then `username` and `password` are mandatory
username: user_name
password: user_password
credentials:
- type: artipie
- type: env
policy:
type: artipie
storage:
type: fs
path: /tmp/artipie/security
metrics:
endpoint: "/metrics/vertx"
port: 8087
Artipie provides repositories at first path level, e.g. {host}:{port}/maven
, {host}:{port}/test-pypi
.
Storage - is a storage configuration for repository definitions. It sets a storage where all config files for each repository are located. Keep in mind, Artipie user should have read and write permissions for this storage.
Here is the example of Artipie configuration files structure based on
/etc/artipie/artipie.yml
example above:
/tmp/artipie/configs
│ _storages.yaml
│
└───repo
│ │ my-maven.yml
│ │ main-python.yaml
│ │ docker-registry.yaml
In the examples above _storages.yaml
is a file for storages aliases,
file name for the aliases is fixed and should be _storages
as shown above,
repo
subdirectory (as configured with configs
field in /etc/artipie/artipie.yml
) contains configs for
repositories. If configs
setting is omitted in /etc/artipie/artipie.yml
, then repo configs will be located
in /tmp/artipie/configs
directly.
Credentials and policy sections are responsible for user credentials and security policy.
Note that Artipie understands both extensions: yml
and yaml
.
The http client settings can be overridden in xxx-proxy
repository config.
Proxy servers can be defined by system properties as it's described in Java documentation.
Default values:
- connection_timeout: 15_000
- idle_timeout: 0
- trust_all: false
- follow_redirects: true
- http3: false
Here is a list of some additional configurations:
- To configure port for Artipie server use
--port
(or short alternative-p
) option, default port is 80 - Set environment variable
SSL_TRUSTALL
to trust all unknown certificates