Skip to content

Evaemon/PQR-Docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PQR-Docker

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.


Features

  • 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: .env files for easy configuration of container settings.
  • Automated Scripts: Scripts for building, starting, and stopping containers.

Quick Start

1. Clone the Repository

git clone https://github.com/Evaemon/PQR-Docker.git
cd PQR-Docker

2. Set Permissions for Scripts

Ensure that the scripts in the scripts/ directory have executable permissions:

chmod +x scripts/*.sh

3. Configure Docker Permissions

To avoid permission errors while using Docker, follow these steps:

  1. Add your user to the Docker group:

    sudo usermod -aG docker $USER
  2. Restart your terminal or log out and back in for the changes to take effect.

  3. Verify that Docker works without sudo:

    docker ps

    If this command runs without errors, your Docker setup is ready.

  4. Start the Docker daemon if it is not already running:

    sudo systemctl start docker

4. Build Docker Images

Run the following command to build the required containers:

bash scripts/build_containers.sh

This script automatically pulls the required code from:

5. Start the Containers

bash scripts/start_containers.sh

6. Stop and Clean Up

bash scripts/stop_containers.sh

Troubleshooting

1. Permission Denied Errors

If you encounter a Permission Denied error while running any script or using Docker, follow these steps:

  1. Ensure the script has executable permissions:

    chmod +x scripts/<script_name>.sh
  2. Add your user to the Docker group:

    sudo usermod -aG docker $USER
  3. Restart your terminal or log out and back in.

  4. Start the Docker daemon if it is not running:

    sudo systemctl start docker
  5. Retry the script:

    bash scripts/<script_name>.sh

2. Docker Not Found

If you see an error indicating Docker is not installed:

  1. Install Docker:

  2. Verify the installation:

    docker --version
  3. Ensure Docker Compose is also installed:

    docker-compose --version
  4. Restart your terminal and retry the commands.

3. Unable to Connect to the Docker Daemon

If you see an error like Cannot connect to the Docker daemon:

  1. Ensure the Docker service is running:

    sudo systemctl start docker
  2. Add your user to the docker group to avoid needing sudo:

    sudo usermod -aG docker $USER
  3. Log out and back in for the group changes to take effect.

  4. Retry the command.


Folder Structure

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

Project Dependencies

The Docker containers rely on the following projects:

Ensure these repositories remain updated to avoid issues during the container build process.


Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your improvements.


License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Docker configuration files and scripts for deploying the PQR-Tunnel (Post-Quantum Realm) project in containerized environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors