# 建立PyPI本地私有化仓库

# 建立PyPI本地私有化仓库

  1. docker-compose.yml

    version: '3.7'
    services:
      # NGINX container
      nginx:
        container_name: nginx
        hostname: nginx
        image: nginx:latest
        ports:
          - 8080:8080
        volumes:
          - /data2/python/pypi-server/nginx:/etc/nginx
          - /data2/python/pypi-server/nginx_cache:/data/nginx/cache
      # PyPI container
      pypi-server:
        image: pypiserver/pypiserver:latest
        volumes:
          - type: bind
            source: ./packages
            target: /data/packages
        command: -P . -a . /data/packages
        restart: always
    
  2. 配置nginx

    server {
    listen 8080;
    location / {
            rewrite ^/pypi(.*)$ $1 last;
            proxy_cache pypiserver_cache;
            proxy_set_header X-Forwarded-Host $host:$server_port/pypi;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://pypi-server:8080;
          }
    }
    
  3. 测试

    pip3 install PyMySQL --index-url http://172.17.174.198:8080 --trusted-host 172.17.174.198