From 78a16ed25e00454f1b2a3c37037e49419b4d98f8 Mon Sep 17 00:00:00 2001 From: Cryptoval2 Date: Sun, 12 Jan 2025 22:09:09 +0000 Subject: [PATCH] initial. registry --- registry/.env | 1 + registry/ReadMe.md | 48 ++++++++++++++++++++++++++++++++ registry/config.yml | 9 ++++++ registry/docker-compose.yml | 15 ++++++++++ registry/sync_docker_registry.sh | 9 ++++++ 5 files changed, 82 insertions(+) create mode 100644 registry/.env create mode 100644 registry/ReadMe.md create mode 100644 registry/config.yml create mode 100644 registry/docker-compose.yml create mode 100755 registry/sync_docker_registry.sh diff --git a/registry/.env b/registry/.env new file mode 100644 index 0000000..d225f1f --- /dev/null +++ b/registry/.env @@ -0,0 +1 @@ +DOCKER_SERVICES_DIR=/works/docker \ No newline at end of file diff --git a/registry/ReadMe.md b/registry/ReadMe.md new file mode 100644 index 0000000..ef5a685 --- /dev/null +++ b/registry/ReadMe.md @@ -0,0 +1,48 @@ +### Original command (for reference) +``` +docker run -d -p 5500:5500 --name registry -v /opt/store/cvtt/docker_registry/config.yml:/etc/docker/registry/config.yml -v /opt/store/cvtt/docker_registry/data:/var/lib/registry registry:2 +``` + +### Create file .env +```bash +DOCKER_SERVICES_DIR=/works/docker/ +``` + +### Create directory +```bash +mkdir -p /works/docker/regisry/data +``` + +### Create file config.yml +```yaml +version: 0.1 +log: + fields: + service: registry +storage: + filesystem: + rootdirectory: /var/lib/registry +http: + addr: :5500 +``` + +### Make sure inscecure access (on VPN) is granted (example) + +```bash +sudo vi /etc/docker/daemon.json +``` +```json +{ +"insecure-registries": ["cloud21.cvtt.vpn:5500", "homestore.cvtt.vpn:5500"] +} +``` + +```bash +sudo systemctl restart docker +``` +### Make sure the syncing script is set in crontab +``` + ---------- docker registry sync +0 * * * * /home/oleg/prod/run/sync_docker_registry.sh 2>&1 | /usr/bin/ts '[\%Y-\%m-\%d \%H:\%M:\%S]' >> /opt/logs/$(date +\%Y\%m\%d).docker_reg_sync.log +``` + diff --git a/registry/config.yml b/registry/config.yml new file mode 100644 index 0000000..136ce6b --- /dev/null +++ b/registry/config.yml @@ -0,0 +1,9 @@ +version: 0.1 +log: + fields: + service: registry +storage: + filesystem: + rootdirectory: /var/lib/registry +http: + addr: :5500 diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml new file mode 100644 index 0000000..4ec7525 --- /dev/null +++ b/registry/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.8' + +services: + registry: + image: registry:2 + container_name: registry + ports: + - "5500:5500" + volumes: + - ${DOCKER_SERVICES_DIR}/registry/config.yml:/etc/docker/registry/config.yml + - ${DOCKER_SERVICES_DIR}/registry/data:/var/lib/registry + restart: unless-stopped + +env_file: + - .env diff --git a/registry/sync_docker_registry.sh b/registry/sync_docker_registry.sh new file mode 100755 index 0000000..01384f1 --- /dev/null +++ b/registry/sync_docker_registry.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Variables +PRIMARY_HOST=cloud21.cvtt.vpn +SECONDARY_DATA_DIR=/works/cvtt/docker_registry/data +PRIMARY_DATA_DIR=/opt/store/cvtt/docker_registry/data + +# Sync data from primary to secondary +rsync -avz --delete cvtt@$PRIMARY_HOST:$PRIMARY_DATA_DIR/ $SECONDARY_DATA_DIR/