{"id":16210053,"url":"https://github.com/ashblue/uvpm-server","last_synced_at":"2025-03-19T08:31:11.995Z","repository":{"id":142164059,"uuid":"115840428","full_name":"ashblue/uvpm-server","owner":"ashblue","description":"A private Unity package manager server for Ultra Violet Package Manger (UVPM). The back-end server portion of the software.","archived":false,"fork":false,"pushed_at":"2018-06-05T01:32:52.000Z","size":329,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-03-17T05:21:47.756Z","etag":null,"topics":["package-manager","server","unity3d"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashblue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-31T03:38:09.000Z","updated_at":"2025-03-07T14:29:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ed9be83-1fc8-4d09-a756-720b91bba702","html_url":"https://github.com/ashblue/uvpm-server","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashblue%2Fuvpm-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashblue%2Fuvpm-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashblue%2Fuvpm-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashblue%2Fuvpm-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashblue","download_url":"https://codeload.github.com/ashblue/uvpm-server/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244389863,"owners_count":20445017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["package-manager","server","unity3d"],"created_at":"2024-10-10T10:35:01.431Z","updated_at":"2025-03-19T08:31:11.989Z","avatar_url":"https://github.com/ashblue.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uv-package-manager\n\n[![Build Status](https://travis-ci.org/ashblue/uvpm-server.svg?branch=master)](https://travis-ci.org/ashblue/uvpm-server)\n[![codecov](https://codecov.io/gh/ashblue/uvpm-server/branch/master/graph/badge.svg)](https://codecov.io/gh/ashblue/uvpm-server)\n\nA package manager for Unity3D. The back-end server portion of the software. Meant to be paired with [UVPM CLI](https://github.com/ashblue/uvpm-cli) to interact with packages.\n\n# Quickstart\n\nInstall [Docker](https://www.docker.com) if you haven't already. This is meant for\npreviewing the UVPM server and not developing on it.\n\n```bash\ndocker-compose up -d\n\n# Create a super user for yourself inside the Docker box\ndocker exec -it uvpm bash\nnpm run create-user\nnpm run user-role\n\n# You can now login and publish packages via UVPM CLI\n```\n\nOn your production server you will need about 2GB of memory total to run the package manager.\nMost of this is for Elasticsearch to fuzzy search packages.\n\n## Development\n\nIf you're looking to do development work and not just run the app. You'll need to do a\nfew extra steps.\n\n* Go through the below section to start the databases\n* When complete run `npm run start`\n\n### IMPORTANT NOTE: Git commit and push pre hooks \n\nGit **commit** runs the linter and build automatically.\n\nFor git **push** must have the dev Docker compose container running to \nsince tests are automatically run with pre hooks. If Docker is not running the\npush hooks will hang due to slow server responses on tests.\n\n### Running the database\n\nInstead of running MongoDB and Elastic Search separately, you can run both with a simple\nDocker command.\n\n* Download and install [Docker](https://www.docker.com/)\n* Spin up the database `docker-compose -f docker-compose.dev.yml up`\n  * Run `docker-compose -f docker-compose.dev.yml up -d` if you don't want terminal logging\n* When done run `docker-compose -f docker-compose.dev.yml down` to properly shut down the database\n\n#### Cleaning the database\n\nYou can also do a clean run of Docker without any data. Be warned though, this will delete ALL of your\ndatabase data for any Docker application (use with care).\n\n```bash\ndocker system prune\ndocker volume prune\n```\n\n# Supported environmental variables\n\n* NODE_ENV: For running Node in production mode `NODE_ENV=production`\n* TEST: `true` or `false` to set the test mode\n* DB_URL: Set the current database URL for MongoDB to connect to. For external database connections\n* JWT_SECRET: Set your JWT secret key\n\n# Commands\n\n```bash\n# If you are running a Docker server\n# Turn on execute command mode in the docker box\ndocker exec -it uvpm bash\n\n# If you haven't built out the project yet\n# npm run build\n```\n\n## How to create a user\n\n```bash\nnpm run create-user\n```\n\n## How to set user permissions\n\n```bash\nnpm run user-role\n```\n\n## Change a password\n\n```bash\nnpm run set-password\n```\n\n# Testing\n\nRun all tests and automatically re-run all tests when a file changes.\n\n```bash\nnpm run test\n```\n\nRun all tests once.\n\n```bash\nnpm run test:single\n```\n\nRun a single test file with watch. Auto reloads when changing files.\n\n```bash\nnpm run test:file -- src/app/app.spec.ts\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashblue%2Fuvpm-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashblue%2Fuvpm-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashblue%2Fuvpm-server/lists"}