π³ Kit for creating safe docker registry with basic http auth
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ docker-registry Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
- Docker ΠΈ docker-compose
- SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. ΠΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΠΎΡ letsencrypt, a Π΄Π»Ρ ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ certbot
- Nginx Π΄Π»Ρ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΉ registry ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Ρ ΠΎΡΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠΎΠ½ΡΠΈΠ³ nginx'a ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
server {
server_name registry.host.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://localhost:5000;
client_max_body_size 100M;
}
}
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ Ρ
ΠΎΡΡΠ° Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ sudo certbot
ΠΈ ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π±ΠΎΡΠ°.
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: git clone https://github.com/1g0rbm/easy-registry.git
. ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cp .env.dist .env
ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ .env
Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π ΡΠ΅ΠΊΡΠΈΠΈ replace this values
Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
PATH_TO_REGISTRY_DIR=/var/www/registry.host.com # ΠΏΡΡΡ Π΄ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΊΡΠ΄Π° ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
PATH_TO_CERTS=/etc/letsencrypt/archive/registry.host.com # ΠΏΡΡΡ Π΄ΠΎ Π΄ΠΈΡΠ΅ΡΠΎΡΠΈΠΈ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° (Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΡΠΎ ΠΈ Π΄Π»Ρ Ρ
ΠΎΡΡΠ°)
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ basic http auth. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make prepare_scripts
ΠΈ make basic_http_auth
. Π‘ΠΊΡΠΈΠΏΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π²Π΅ΡΡΠΈ Π»ΠΎΠ³ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΠ°Π»Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ registry ΡΠ΅ΡΠ΅Π· docker-compose: docker-compose up -d
.