Skip to content

Docker Container

License & Important Disclaimer

AIS-catcher is provided for research and educational purposes. It has not been designed, tested, or certified for reliability, accuracy, or safety. Do not rely on AIS-catcher for navigation or any safety-critical applications. Users bear full responsibility for ensuring compliance with local laws and regulations regarding the reception, decoding, and use of AIS signals. AIS-catcher is provided “as is,” without warranty of any kind, and must not be used for illegal or unauthorized activities. Operate AIS-catcher only where such use is permitted by local authorities.

Copyright (C) 2021–2025 jvde.github at gmail.com. Licensed under the GNU General Public License v3.0

Jump to the desired Installation Option:

Basic Web GUI

Basic Docker Container

Pre-built container images containing AIS-catcher are available from the GitHub Container Registry. Available container tags are documented on the package's page, with latest (the latest release) and edge (the bleeding edge of the main branch) being the two main ones.

The following docker run command provides an example of the usage of this container image, running the latest release of AIS-catcher interactively:

docker run --rm -it --pull always --device /dev/bus/usb ghcr.io/jvde-github/ais-catcher:latest <ais-catcher command line options>

Alternatively, the following docker-compose.yml configuration provides a good starting point should you wish to use Docker Compose:

services:
  ais-catcher:
    command: <ais-catcher command line options> (e.g. -N 8100)
    container_name: ais-catcher
    ports:
      - 8100:8100 <don't forget to passthrough ports for the webclient>
    devices:
      - "/dev/bus/usb:/dev/bus/usb"
    image: ghcr.io/jvde-github/ais-catcher:latest
    restart: always
Please note that the SDRplay devices are currently not supported in the Docker images.


Start First Run


More options

To pull the latest docker image (e.g. to create or refresh to the latest version) without running:

docker pull ghcr.io/jvde-github/ais-catcher:edge
To start AIS-catcher, you can then use:
docker run --device /dev/bus/usb --rm -it ghcr.io/jvde-github/ais-catcher:edge
Notice that if you want to run the webviewer (-N 8100) you need to make that available on the host system with (-p 8100:8100). To send UDP data to OpenCPN running on the host computer, you can try to find the bridge network address (sudo docker network inspect bridge as per tutorials and use this as UDP destination address (e.g. -u 172.17.0.1 5077). Alternatively you could use --network host although less desirable. Please consult the Docker documentation.

An excellent Docker set-up is the docker-shipfeeder that provides a user friendly way to feed various aggregators with excellent documentation and user support by the sdrenthusiasts community.

Docker with Web GUI

If you are already up and running with Docker installed, you can simply use:

docker run --privileged -v /dev/bus/usb:/dev/bus/usb -p 8110:8110 -p 8100:8100 --pull=always ghcr.io/jvde-github/ais-catcher-control:edge


Start First Run