Docker

Run DocKing on the Production Mode.

New DocKing images are available 😎

With the new image, you don't have to build & push the image in your internal space again.

Available images

  • docking

    • PHP 8.2 FPM

  • docking-on-steroid

    • PHP 8.2 + Laravel Octane (using RoadRunner high-perf server)

Available ENV that can be injected on runtime

# The environment name (default: production)
APP_ENV=local|staging|production

# The unique application key for Laravel app
# To generate a new key, you will need to clone DocKing, follow the local setup
# and run "php artisan key:generate"
# Worries not, we added a default one for you
APP_KEY=

# (REQUIRED) The DB engine that you will use
DB_CONNECTION=mysql|pgsql|sqlite|sqlsrv

# (REQUIRED) The DB connection URL
# e.g.: sqlite:////var/www/html/docking.sqlite
# e.g.2: mysql://root:root@localhost/docking?charset=UTF-8
DATABASE_URL=

# The filesystem that you want to use for storing PDF files (default: public) 
FILESYSTEM_DISK=public|s3

# if you use s3, ensure adding these ENVs:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

# Docking HTTP Request Auth Key
DOCKING_PUBLIC_ACCESS_KEY=

# Enable DocKing Console?
DOCKING_CONSOLE_ENABLED=true|false

# Docking Console Password
DOCKING_CONSOLE_PASSWORD=

# DocKing default driver
DOCKING_DEFAULT_PDF_DRIVER=gotenberg

# Gotenberg endpoint (REQUIRED if you want to use Gotenberg)
DOCKING_GOTENBERG_ENDPOINT=

Production run

# Pull
docker pull ghcr.io/shipsaas/docking:latest

# Run
docker run -p 8080:80 \
    -e APP_ENV='production' \
    -e DB_CONNECTION='mysql' \ 
    -e DATABASE_URL='mysql://root:root@localhost/docking' \
    -e DOCKING_PUBLIC_ACCESS_KEY='your-http-auth-key' \
    -e DOCKING_CONSOLE_PASSWORD='123456' \
    ghcr.io/shipsaas/docking:latest

Last updated