Docker

Use Docker to run DocKing in 1 line command

Single command away to run DocKing for development 😎

Image URL: https://github.com/shipsaas/docking

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

# Run
docker run -p 8888:80 ghcr.io/shipsaas/docking:latest

Then you can visit "https://localhost:8888" and use it in no time.

To check out more about the ENVs: visit here

Docker-Compose

Sample compose file:

version: '3.9'

services:
  docking:
    image: "ghcr.io/shipsaas/docking-dev:latest"
    volumes:
      - app_storage:/var/www/html/storage/app
    links:
      - gotenberg
    ports:
      - '8888:80'

  gotenberg:
    image: gotenberg/gotenberg:7
    ports:
      - '9898:3000'

volumes:
  app_storage:

Note: app_storage contains the rendered PDF files.

Database notes

If you don't specify DB envs, by default DocKing will create a new SQLite database every time you run the image, which means:

  • Your data will be lost every time you turn off DocKing

To ensure your dev data won't be lost, there are 2 options

Mount SQLite file

If you wish to use SQLite & keep your data (for dev), you'd need to mount your SQLite file/folder into DocKing, e.g.:

docker run -p 8888:80 \
    -v /my/path/seth.sqlite:/var/www/html/seth.sqlite
    -e DATABASE_URL='sqlite:////var/www/html/seth.sqlite'
    ghcr.io/shipsaas/docking-dev:latest

Yeah it's weird to have 4 //// right, but that's how we have to define when using Laravel 🥺

Note:

  • When DocKing starts, it will print the UID & GID, so that you can hit the chown UID:GID your_sql.sqlite file

Use MySQL/PgSQL/SQL Server

As the title say 😆

Last updated