Server Installation
This guide covers installing the Scanopy server on your own infrastructure.
Requirements
Section titled “Requirements”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
Docker Installation (Recommended)
Section titled “Docker Installation (Recommended)”This is the easiest way to get started with self-hosted Scanopy.
1. Download the Docker Compose File
Section titled “1. Download the Docker Compose File”curl -O https://raw.githubusercontent.com/scanopy/scanopy/refs/heads/main/docker-compose.yml2. Review Configuration
Section titled “2. Review Configuration”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.
3. Start Scanopy
Section titled “3. Start Scanopy”docker compose up -d4. Verify Installation
Section titled “4. Verify Installation”Check that services are running:
docker compose psYou should see:
scanopy-server- Running on port 60072scanopy-postgres- PostgreSQL databasescanopy-daemon- Integrated daemon
5. Access the UI
Section titled “5. Access the UI”Navigate to http://<your-server-ip>:60072
You’ll see the registration page on first load.
Platform-Specific Instructions
Section titled “Platform-Specific Instructions”Proxmox LXC Container
Section titled “Proxmox LXC Container”You can use this helper script to create a Scanopy LXC on your Proxmox host.
Unraid
Section titled “Unraid”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:unconfinedIf running in an LXC, you may need to change SCANOPY_INTEGRATED_DAEMON_URL to 172.31.0.1.
See issue #87 for more details.
Building from Source
Section titled “Building from Source”Refer to contributing for details on getting your dev environment set up to build from source.
Uninstalling
Section titled “Uninstalling”Docker Installation
Section titled “Docker Installation”# Stop and remove containersdocker compose down
# Remove volumes (deletes all data)docker compose down -v
# Remove imagesdocker rmi ghcr.io/scanopy/scanopy/server:latestdocker rmi ghcr.io/scanopy/scanopy/daemon:latestNext Steps
Section titled “Next Steps”- Server Configuration — Configure server settings
- OIDC Setup — Set up enterprise authentication
- Quick Start — Deploy your first daemon