Skip to content
Alejandro Sajaroff edited this page Sep 14, 2021 · 10 revisions

Installation

Docker

Login to the commercial Docker repository with your credentials:

$ docker login docker.contribsys.com
Username: <your username>
Password: <your password>

$ docker pull docker.contribsys.com/contribsys/faktory-ent:1.2.0
1.2.0: Pulling from contribsys/faktory-ent
Digest: sha256:8edd1cf6f1d6cae7848133bad3cf92b8be61a4fcf29c94a266125585bc9f3a96
Status: Image is up to date for docker.contribsys.com/contribsys/faktory-ent:1.2.0
docker.contribsys.com/contribsys/faktory-ent:1.2.0

You can use a specific version number, like 1.2.0, or use latest to pull the latest version.

Now run that image just like you run the OSS Docker image.

For the license, you can mount the license file specifically, like -v /path/to/mylicense:/etc/faktory/license, or you can mount the entire Faktory configuration like -v /path/to/faktory/config:/etc/faktory where the directory contains your license file and all the config TOML in the conf.d subdirectory.

You can also set the FAKTORY_LICENSE environment variable to your license bytes and avoid the filesystem completely.

OSX

Each Faktory release has a corresponding Faktory Enterprise OSX binary available. You can replace the Homebrew OSS faktory binary with Faktory Enterprise's faktory in order to test drive the commercial functionality. Note that the production environment (-e production) requires a valid license so you can only use it in development mode.

tar xjf faktory-ent*.osx.tbz
cp ./faktory /usr/local/bin
/usr/local/bin/faktory --help

Linux

Faktory Enterprise is distributed as a Debian package, appropriate for use in any modern Debian flavor, with current Ubuntu LTS releases officially supported. Upon purchase, you will be emailed a username/password combination. You will use this to access the Faktory Enterprise download server. Since the server uses TLS, you will need to ensure your Linux machines can download packages via https:

sudo apt-get install -y apt-transport-https

Next, add /etc/apt/sources.list.d/faktory.list:

deb https://dl.contribsys.com/fent/apt stable main

Then, add your credentials to /etc/apt/auth.conf:

machine dl.contribsys.com login $USERNAME password $PASSWORD

Now add our public key, update and install faktory-ent:

curl https://dl.contribsys.com/public.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y faktory-ent

It will replace any faktory or faktory-pro package you already have installed.

Don't forget to put your license on the filesystem or in faktory's environment somehow.

echo "[your license data]" > /etc/faktory/license

Docker

(this is obsolete with the new Docker repository above)

Faktory provides an OSS Docker image for all to use. Faktory Enterprise is an enhanced Faktory binary so you can build your own Faktory Enterprise Docker image by replacing the binary:

Step 1

Extract the Faktory Enterprise binary from the .deb:

apt download faktory-ent
ar -x faktory-ent*.deb
gunzip data.tar.gz
tar xvf data.tar ./usr/bin/faktory

Step 2

Build the modified Docker image by creating this Dockerfile and running docker build .:

# Dockerfile
FROM contribsys/faktory:latest
COPY ./usr/bin/faktory /
COPY ./license /etc/faktory/license

EXPOSE 7419 7420
CMD ["/faktory", "-w", ":7420", "-b", ":7419", "-e", "development"]

(Adjust those CMD arguments as you wish.) Tag the new image and push it to a private repo for your own internal use.

Or Build a Faktory Enterprise Docker image in a single step

# Dockerfile

# Builds a Faktory Enterprise Docker image
# Provide your Faktory Enterprise username, password, and license

# defaults to sid-slim
ARG DEBIAN_VERSION

# defaults to latest
ARG FAKTORY_VERSION

########################
### STAGE 1: Builder ###
########################
FROM debian:${DEBIAN_VERSION:-sid-slim} AS builder

# required
ARG FAKTORY_USERNAME

# required
ARG FAKTORY_PASSWORD

# For a list of versions, login to the following using your credentials
# https://dl.contribsys.com/fent/apt/dists/stable/main/binary-amd64/Packages
# defaults to latest
ARG FAKTORY_VERSION

RUN echo "debconf debconf/frontend select Noninteractive" | debconf-set-selections \
 && apt-get update \
 && apt-get -y install \
    binutils \
    ca-certificates \
    gnupg2 \
    software-properties-common \
 && echo "deb https://dl.contribsys.com/fent/apt stable main" > /etc/apt/sources.list.d/faktory.list \
 && echo "machine dl.contribsys.com login ${FAKTORY_USERNAME} password ${FAKTORY_PASSWORD}" > /etc/apt/auth.conf \
 && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn apt-key adv --fetch-keys https://dl.contribsys.com/public.gpg \
 && apt-get update \
 && apt download faktory-ent \
 && ar -x faktory-ent*.deb \
 && gunzip data.tar.gz \
 && tar xvf data.tar ./usr/bin/faktory

########################
### STAGE 2: Bundler ###
########################
FROM contribsys/faktory:${FAKTORY_VERSION:-latest} AS bundler

# required
ARG FAKTORY_LICENSE

COPY --from=builder /usr/bin/faktory /
RUN echo "${FAKTORY_LICENSE}" >> /etc/faktory/license

EXPOSE 7419 7420
CMD ["/faktory", "-w", ":7420", "-b", ":7419", "-e", "development"]

Using the above Dockerfile, you can build you own faktory-ent Docker image. Just pass in your Faktory Enterprise credentials (provided by contribsys).

docker build \
  -t faktory-ent \
  --build-arg=FAKTORY_USERNAME=username_provided_by_contribsys \
  --build-arg=FAKTORY_PASSWORD=password_provided_by_contribsys \
  --build-arg=FAKTORY_LICENSE=license_provided_by_contribsys \
  --build-arg=FAKTORY_VERSION=1.2.0 \
  --build-arg=DEBIAN_VERSION=sid-20191014-slim \
  .
Clone this wiki locally