Configuration
Environment Variables
Harpoon uses environment variables exclusively for all configuration parameters, many of which are passed directly to the underlying containers.
For details, explore the
docker-compose.yml
at the root of this
repository, and the .yml
files for each included service in
services/*
.
harpoon.env.sh
Harpoon will look for and source
files named harpoon.env.sh
in the
following directories:
- The directory where Harpoon is located (
$HARPOON_ROOT
) /etc
$PWD
$HOME
harpoon.boot.sh
Right before running a task, harpoon will look for and source
files
named harpoon.boot.sh
in the following directories:
- The directory where Harpoon is located (
$HARPOON_ROOT
) /etc
$PWD
$HOME
Custom Domains
Harpoon uses .harpoon
as its default domain for external ingress
traffic. You can configure your own domains with the CUSTOM_DOMAINS
array:
CUSTOM_DOMAINS[0]=example.com
CUSTOM_DOMAINS[1]=example.net
export CUSTOM_DOMAINS
If you would like to use HTTPS, you may choose one of the following options:
HTTPS with Let's Encrypt
Internet connection required
Example configuration:
export TRAEFIK_ACME=true
#export TRAEFIK_ACME_STAGING=true
export TRAEFIK_ACME_LOGGING=true
export TRAEFIK_ACME_DNSPROVIDER=route53
export TRAEFIK_ACME_EMAIL=you@example.com
export TRAEFIK_ACME_ONDEMAND=false
export TRAEFIK_ACME_ONHOSTRULE=true
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXX
export AWS_REGION=us-east-1
Refer to Traefik's documentation for more information.
HTTPS with Static (or self-signed) Certificates
Works offline
For each of your custom domains, copy the certificate (.crt
) and key
(.key
) files to core/traefik/certs
. The filenames should be based on
the domain name, for example:
example.com.crt
example.com.key