Public | Automated Build

Last pushed: a year ago
Short Description
FrontAccounting on Debian 8 (Jessie) with support for HTTP, HTTPS, and HSTS.
Full Description

FrontAccounting

FrontAccounting (FA) on Debian 8 (Jessie) with support for HTTP, HTTPS, and HSTS.

For more infomation, see my article: Why FrontAccounting.

Improvements

Wow, over 5.2K pulls on docker. Thank you! I put together a great new release. Enjoy.

  • upgraded FA to 2.3.25 (default)
  • upgraded OS to Debian 8.5
  • added option to use regular HTTPS
  • added --tag option to select FA release
  • added --branch option to select desired FA branch
  • added --overwrite option to overwrite mounted version
  • improved help and this readme

Quick Start

(1) Spin-up mysql container and create database for FA:

$ docker pull mysql
$ docker run -d -P --name fa_db -e MYSQL_ROOT_PASSWORD=quickDIRTY mysql
$ docker exec -it fa_db mysqladmin -u root -p create fa23
  (enter quickDIRTY for password)

(2) Spin-up FA container:

$ docker pull genebarker/frontaccounting
$ docker run -d -p 80:80 --link fa_db:fa_db genebarker/frontaccounting --http

(3) Open browser, enter your host's URL, and on Step 2: Database Server Settings:

  • Server Host: fa_db
  • Database User: root
  • Database Password: quickDIRTY
  • Database Name: fa23

(4) Enjoy!

How to Use

For usage info, just run the image without a command:

$ docker run --rm genebarker/frontaccounting

Which produces the following:

frontaccounting - FrontAccounting on Debian 8 Docker Container

usage: genebarker/frontaccounting [options]

Options:
  -p, --http         Run FA using plain HTTP (port 80)
  -s, --https FQDN   Run FA using HTTPS (port 443)
  -S, --hsts FQDN    Run FA using HSTS (ports 80 and 443)
  -t, --tag TAG      Version of FA webapp to use
                     (defaults to 2.3.25)
  -b, --branch NAME  Use latest commit in given branch of
                     FA webapp repository
  -O, --overwrite    Overwrite existing FA webapp content with
                     the repository's version (careful!)
  -h, --help         Display this message

To use FA webapp content on the host, mount it, i.e.:
  $ docker run -d -p 80:80 \
      -v /home/me/frontacc:/var/www/html \
      genebarker/frontaccounting --http

  (if host dir empty, the container will initialize it)

To run FA with HTTPS creating new self-signed keys:
  $ docker run -d -p 443:443 \
      genebarker/frontaccounting --https mybox.example.com

To run FA with HTTPS using your own keys, mount them, i.e.:
  $ docker run -d -p 443:443 \
      -v /etc/ssl:/etc/ssl \
      genebarker/frontaccounting --https mybox.example.com

  (the cert's CN must match the FQDN)

To run FA with HSTS, map both web ports, i.e.:
  $ docker run -d -p 80:80 -p 443:443 \
      genebarker/frontaccounting --hsts mybox.example.com

To link FA with a MySQL container named 'fa_db', i.e.:
  $ docker run -d -p 80:80 \
      --link fa_db:fa_db \
      genebarker/frontaccounting --http

  (then use 'fa_db' for the MySQL hostname)

To bypass script, just enter desired command, i.e.:
  $ docker run -it genebarker/frontaccounting bash

FA webapp repository:
  https://github.com/genebarker/FA (see its Wiki)

Key paths in the container:
  /var/www/html  - FA webapp content
  /etc/ssl       - SSL keys and certificates
  /etc/ssl/private/ssl-cert-snakeoil.key  - Private SSL key
  /etc/ssl/certs/ssl-cert-snakeoil.pem    - Public SSL cert

FA requires a MySQL DB for data storage, we recommend using:
  https://hub.docker.com/_/mysql/

Notes

  • FA requires a MySQL database for data storage. This FA container does not include such a database - this is best served by using your own or even better, using the official MySQL container image (mysql).
  • The --tag and --branch options allow you to use this docker image for the different versions of FA. Check the source repository's Wiki to see the tags and branches currently available.
  • This image uses a forked copy genebarker/FA of the official FA repository. I use this fork to tag the official releases and hold copies of my changes in different branches. For more, see the repository's Wiki.
Docker Pull Command
Owner
genebarker
Source Repository