Skip to content

Server Installation

This guide covers installing the Scanopy server on your own infrastructure.

Docker Installation (Recommended)

  • Docker Engine 20.10 or later
  • Docker Compose V2

Building from Source

  • Rust 1.90 or later
  • Node.js 20 or later
  • PostgreSQL 17
  • 4GB RAM minimum
  • 20GB disk space

This is the easiest way to get started with self-hosted Scanopy.

Terminal window
curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml

The default docker-compose.yml includes:

  • Scanopy server on port 60072
  • PostgreSQL database
  • Integrated daemon for immediate network scanning

Important: The integrated daemon assumes your Docker bridge network is 172.17.0.1. If your Docker bridge uses a different address, edit the SCANOPY_INTEGRATED_DAEMON_URL environment variable in the compose file.

Terminal window
docker compose up -d

Check that services are running:

Terminal window
docker compose ps

You should see:

  • scanopy-server - Running on port 60072
  • scanopy-postgres - PostgreSQL database
  • scanopy-daemon - Integrated daemon

Navigate to http://<your-server-ip>:60072

You’ll see the registration page on first load.

You can use this helper script to create a Scanopy LXC on your Proxmox host.

Scanopy is available as an Unraid community app.

Common Issues:

If running Scanopy directly on a Proxmox host and encountering could not create any Unix-domain sockets, add this to both the PostgreSQL and Scanopy services in your docker-compose:

security_opt:
- apparmor:unconfined

If running in an LXC, you may need to change SCANOPY_INTEGRATED_DAEMON_URL to 172.31.0.1.

See issue #87 for more details.

Refer to contributing for details on getting your dev environment set up to build from source.

Terminal window
# Stop and remove containers
docker compose down
# Remove volumes (deletes all data)
docker compose down -v
# Remove images
docker rmi ghcr.io/scanopy/scanopy/server:latest
docker rmi ghcr.io/scanopy/scanopy/daemon:latest