Skip to content
Mike Perham edited this page Jan 2, 2020 · 10 revisions

Installation

Please note that Faktory Enterprise is still very young. If you have any problems, please open an issue so I can help and improve things!

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 Ubuntu 16.04 and 18.04 officially supported. Upon purchase, you will be emailed a username/password combination. You will use this to access the Faktory Enterprise download site. Since the site 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

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-get install -y faktory-ent=${FAKTORY_VERSION:-*} \
 && 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=FAKTORY_PRO_VERSION=1.2.0-1 \
  --build-arg=DEBIAN_VERSION=sid-20191014-slim \
  .
Clone this wiki locally