This repository contains Docker configurations and scripts for deploying the PQR-Tunnel and PQR-KeyCrafter projects in a containerized environment. It supports client, server, and key generation containers, while maintaining modularity and independence.
- Multi-Container Setup: Includes Docker Compose for running client, server, and keygen containers.
- Modular Independence: Designed to work independently of PQR-Tunnel and PQR-KeyCrafter repositories, making it easier to expand or adapt to other frameworks (e.g., VMware, Kubernetes).
- Environment Variables:
.envfiles for easy configuration of container settings. - Automated Scripts: Scripts for building, starting, and stopping containers.
git clone https://github.com/Evaemon/PQR-Docker.git
cd PQR-DockerEnsure that the scripts in the scripts/ directory have executable permissions:
chmod +x scripts/*.shTo avoid permission errors while using Docker, follow these steps:
-
Add your user to the Docker group:
sudo usermod -aG docker $USER -
Restart your terminal or log out and back in for the changes to take effect.
-
Verify that Docker works without
sudo:docker ps
If this command runs without errors, your Docker setup is ready.
-
Start the Docker daemon if it is not already running:
sudo systemctl start docker
Run the following command to build the required containers:
bash scripts/build_containers.shThis script automatically pulls the required code from:
- PQR-Tunnel: https://github.com/Evaemon/PQR-Tunnel
- PQR-KeyCrafter: https://github.com/Evaemon/PQR-KeyCrafter
bash scripts/start_containers.shbash scripts/stop_containers.shIf you encounter a Permission Denied error while running any script or using Docker, follow these steps:
-
Ensure the script has executable permissions:
chmod +x scripts/<script_name>.sh
-
Add your user to the Docker group:
sudo usermod -aG docker $USER -
Restart your terminal or log out and back in.
-
Start the Docker daemon if it is not running:
sudo systemctl start docker
-
Retry the script:
bash scripts/<script_name>.sh
If you see an error indicating Docker is not installed:
-
Install Docker:
-
Verify the installation:
docker --version
-
Ensure Docker Compose is also installed:
docker-compose --version
-
Restart your terminal and retry the commands.
If you see an error like Cannot connect to the Docker daemon:
-
Ensure the Docker service is running:
sudo systemctl start docker
-
Add your user to the
dockergroup to avoid needingsudo:sudo usermod -aG docker $USER -
Log out and back in for the group changes to take effect.
-
Retry the command.
PQR-Docker/
├── docker-compose.yml # Docker Compose file for multi-container setup
├── Dockerfiles/ # Individual Dockerfiles for each service
│ ├── client.Dockerfile
│ ├── server.Dockerfile
│ ├── keygen.Dockerfile
├── config/ # Configuration files
│ ├── client.env
│ ├── server.env
│ ├── shared.env
├── scripts/ # Utility scripts for container management
│ ├── build_containers.sh
│ ├── start_containers.sh
│ ├── stop_containers.sh
└── README.md # Documentation
The Docker containers rely on the following projects:
- PQR-Tunnel: https://github.com/Evaemon/PQR-Tunnel
Provides client and server scripts for setting up quantum-safe SSH tunnels. - PQR-KeyCrafter: https://github.com/Evaemon/PQR-KeyCrafter
Provides tools for generating quantum-safe keys.
Ensure these repositories remain updated to avoid issues during the container build process.
Contributions are welcome! Please fork the repository and submit a pull request with your improvements.
Proprietary - All Rights Reserved
This project is licensed under the Trednets Enterprise Software License (TESL) v1.2.
All rights, title, and interest in the software remain exclusively with Trednets B.V.
See the included LICENSE file for the repository license notice.
For the full and current license text, visit: https://trednets.com/license
Third-party components and dependencies remain subject to their respective original license terms.