Public | Automated Build

Last pushed: a year ago
Short Description
Docker image project
Full Description


This is the ghostylink docker image.
You can use it if you want to host the project on your own
It contains:

  • A MySQL server
  • An Apache server
  • The ghostylink project


First start

Standalone image

You will need to configure some necessary informations:

  • Database access
  • A security salt for password hashing


  • Google recatpcha keys (disable it by setting `reCaptcheKeys.public to null)
    • Used for recaptcha component activation
  • Smtp access (disable it by setting EmailTransport.default.username to null)
    • Used for ghostyfication alerts
    • Used for user's email verification
Configuration key Description Required
fullBaseUrl ghostylink installed url Yes
Security.salt a salt for password hashing Yes
Datasources.default.username database username Yes
Datasources.default.password database password Yes
Datasources.default.database database name Yes smtp host No
EmailTransport.default.username smtp username No
EmailTransport.default.password smtp password No
reCaptcheKeys.public google recaptcha public key No
reCaptcheKeys.private google recaptcha private key No

To configure easily those keys, you can use our bash script.
Create a <conf> dir and put the template configuration for your version
in it. Create a <data> and a <log> directory.

cd <ghostylink_dir> && mkdir conf data log
wget -P conf<version>/config/prod/app_prod_template.php \
     -O conf/app_prod.php

docker_init_image <ghostylink_version> <ghostylink_dir> <ghostylink_host>

Run then command:

docker run -v <conf>:/conf \
           -v <data>:/var/lib/mysql \
           -v <log>:/log \
           -d \
           -p <port>:80 ghostylink/ghostylink

Using docker-compose

We provide a docker-compose.yml file for additional services required by
It includes:

  • A smtp server
  • The ghostylink project

To use it:

cd <ghostylink_dir> && mkdir conf data log postfix
wget -P conf$version/config/prod/app_prod_template.php \
     -O conf/app_prod.php
     -O docker-compose.yml

# Configure google recaptcha manually or replace by null if not wanted
vi conf/app_prod.php

docker_init_compose version domain port <ghostylink_dir>
docker-compose up

Using existing data

Run the command bellow with your existing conf , data and log directories

docker run -v <conf>:/conf \
           -v <data>:/var/lib/mysql\
           -v <log>:/log \
           -d \
           -p <port>:80 ghostylink/ghostylink


When your data directory contains data from an older version, ghostylink migrations
are applied automatically at start up.


In a similar way, you can downgrade to an older version of the ghostylink project.

:warning: You will lose irredeemably data. Be sure before downgrading. Downgrading is only supported for version ghostylink 1.4+


From a given commit

git clone
docker build -t local/ghostylink  --build-arg commit=<commit-id> .

From a given branch

git clone
docker build -t local/ghostylink  --build-arg branch=<branch-name> .

From a given tag

git clone
docker build -t local/ghostylink  --build-arg tag=<tag-name> .


By default build take the DEFAULT_VERSION variable specified in the Dockerfile

Docker Pull Command
Source Repository