Skip to content

vmcodes/nym-mixnode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nym Node Docker Setup

Containerized Nym mixnode with configurable environment variables and persistent data.

Quick Start

  1. Configure .env file
# Node Identity
NYM_NODE_ID=my-mixnode
NYM_MODE=mixnode
NYM_ACCEPT_TERMS=true

# Network Configuration
NYM_PUBLIC_IP=your.public.ip
NYM_HOSTNAME=mixnode.yourdomain.com
NYM_LOCATION=US

# Container name
CONTAINER_NAME=nym-mixnode

Local Testing

For local testing, you must add a country code in .env:

NYM_PUBLIC_IP=127.0.0.1
NYM_HOSTNAME=localhost
NYM_LOCATION=US

The entrypoint script automatically adds the --local flag when using localhost/127.0.0.1.

Production Deployment

Replace localhost values in .env with real server details:

NYM_PUBLIC_IP=203.0.113.1
NYM_HOSTNAME=mixnode.example.com
NYM_LOCATION=US
  1. Deploy
docker compose up -d

Data Persistence

Node keys and configuration persist in the ./nym-config bind mount directory and the nym-data Docker volume through updates and restarts. The node configuration and description files are stored in ./nym-config on your host filesystem for easy access and editing.

Node Description

Set description after initial startup:

sudo mkdir -p ./nym-config/nym-nodes/my-mixnode/data
sudo tee ./nym-config/nym-nodes/my-mixnode/data/description.toml << EOF
moniker = "my-mixnode"
website = "https://domain.com"
security_contact = "[email protected]"
details = "Nym mixnode operated by me"
EOF

docker compose restart nym-node

Management

View logs:

docker compose logs -f nym-node

Check status:

curl http://localhost:8080/api/v1/build-information
curl http://localhost:8080/api/v1/description

Health check:

docker compose ps

Stop and cleanup:

docker compose down
docker compose down -v  # Remove volumes too

Ports

  • 1789: Mixnet traffic
  • 1790: Verloc API
  • 8080: HTTP API

Troubleshooting

Check container health:

docker compose exec nym-node curl -f http://localhost:8080/api/v1/build-information

Monitor startup:

docker compose logs -f nym-node

Reset node data:

docker compose down -v
sudo rm -rf ./nym-config
docker compose up -d

About

docker configs for testing locally

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published