You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
StarWhiz e8dba9526e added ProGet 2 years ago
..
README.md added ProGet 2 years ago

README.md

I personally use ProGet as a chocolatey repository cache to automated program installs on windows PCs.

Reference url: https://docs.inedo.com/docs/docker-compose-installation-guide To begin get a free license from inedo

Minimum File Structure

/home/
└── ~/
    └── docker/
        └── proget/
            ├── docker-compose.yml

CaddyFile

Use these parameters below for Caddy Reverse Proxy The .9980 block is optional for local access only

proget.YOURDOMAIN.com {
        reverse_proxy proget:80
}

:9980 {
        reverse_proxy proget:80
}

Deployment

  • Create and save the docker-compose.yml into a folder dedicated to proget. (Make sure to change YOURPASSWORD)
  • In the same directory start the database image using docker-compose up -d proget-db
  • Create your database using a docker exec command (example below; edit YOURPASSWORD).
docker exec -it proget-db /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P 'YOURPASSWORD' \
-Q 'CREATE DATABASE ProGet COLLATE SQL_Latin1_General_CP1_CI_AS'
  • Start the remaining images using docker-compose up -d
  • Deployment success!

docker-compose.yml

You should edit YOURPASSWORD in line 12 and line 26

version: '3.8'
services:
  proget-db:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: proget-db
    restart: unless-stopped
#    ports:
#      - "1433:1433"
    environment:
      ACCEPT_EULA: Y
      MSSQL_SA_PASSWORD: YOURPASSWORD
      MSSQL_PID: Express
    user: "0:0"
# Optional if using persisted storage locations (https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-docker-container-configure?view=sql-server-ver15&pivots=cs1-bash#persist)
    volumes:
      - ./proget-db/data:/var/opt/mssql/data
      - ./proget-db/log:/var/opt/mssql/log
      - ./proget-db/secrets:/var/opt/mssql/secrets

  proget:
    image: proget.inedo.com/productimages/inedo/proget:latest
    container_name: proget
    restart: unless-stopped
    environment:
      SQL_CONNECTION_STRING: Data Source=proget-db; Initial Catalog=ProGet; User ID=sa; Password=YOURPASSWORD
#    ports:
#      - "9980:80"
# Update this path to persist your ProGet packages storage
    volumes:
      - ./proget-packages:/var/proget/packages
    depends_on:
      - proget-db

networks:
  default:
    external:
      name: caddy_net

Proget Steps After Deployment

  • Set the base URL in Admin / Advanced Settings. For example https://proget.yourdomain.com, if not set the links generated will end with :port and choco install will fail to work on client machines.
  • Adminstration > Security.. Here you can remove anonymous users from admin and from view & download packages
  • Change your admin password

Installing Chocolatey on Client w/ this ProGet Repository

To do this please refer to this documentation: https://chocolatey.org/install#generic