Linux-Based Docker Engineer for Web App

Job ID: 37797211

Budget: $30 – $250 USD

Project Overview:
This project involves setting up an Ubuntu environment on WSL2 within Windows 11 and integrating Docker into this environment. The Docker environment will host images for nginx, Zabbix, PostgreSQL (using TimescaleDB), Docker, and MySQL. The goal is to ensure these services can communicate with each other as required by the ZABBIX service. Additionally, it will allow for console connections to these Docker containers for maintenance purposes. PostgreSQL will be accessible via pgAdmin from devices on the same network as Windows 11, with encrypted connections.

Objective:

To establish a stable Ubuntu environment on WSL2.
To utilize Docker for installing and enabling communication between nginx, Zabbix, PostgreSQL (with TimescaleDB), Docker, and MySQL.
To ensure secure access to PostgreSQL via pgAdmin from external sources.
Specific Requirements:

WSL2 and Ubuntu Setup:

Enable WSL2 on Windows 11.
Install Ubuntu 22.04 LTS (or newer) on WSL2.
Docker Installation:

Install the latest version of Docker on Ubuntu and configure it to allow user execution of Docker commands.
Docker Image Installation and Configuration:

Retrieve and install Docker images for nginx, Zabbix, PostgreSQL (with TimescaleDB extension), and MySQL from Docker Hub.
Configure a Docker network to enable internal communication between these services.
Security and Access:

Ensure encrypted access to the PostgreSQL database via pgAdmin from devices within the same network as Windows 11.
Apply necessary firewall rules and security policies as needed.
Maintenance and Management:

Allow for console connections to each Docker container, enabling basic maintenance tasks such as starting, stopping, and log checking.
SNMP Trapper:

Ensure ZABBIX is capable of receiving SNMP trapper messages.
Implementation Steps:

Environment Preparation: Enable WSL2 on Windows 11 and install Ubuntu.
Docker Installation and Configuration: Install Docker on Ubuntu and configure user group settings.
Docker Image Acquisition and Setup: Download necessary Docker images and connect them using a Docker network.
Security Settings: Implement security measures, including encrypted connection setups via pgAdmin.
Maintenance Process Establishment: Document maintenance procedures for each service.
Expected Deliverables:

A guide for setting up the environment described above.
Docker images ready to replicate the above setup.
For reference, I will provide a manual for setting up mysql, apache, and zabbix without using Docker.
Related categories: Linux Ubuntu Docker