{"id":19490868,"url":"https://github.com/lucadb/verceltestws","last_synced_at":"2025-08-24T09:20:35.672Z","repository":{"id":242051407,"uuid":"808541901","full_name":"LucaDb/verceltestws","owner":"LucaDb","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-31T10:10:17.000Z","size":96598,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T19:43:31.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://verceltestws-web.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LucaDb.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":"2024-05-31T09:31:15.000Z","updated_at":"2024-05-31T10:10:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"ca79f894-3914-4d9b-abf6-2f07c9447aa7","html_url":"https://github.com/LucaDb/verceltestws","commit_stats":null,"previous_names":["lucadb/verceltestws"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LucaDb/verceltestws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaDb%2Fverceltestws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaDb%2Fverceltestws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaDb%2Fverceltestws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaDb%2Fverceltestws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucaDb","download_url":"https://codeload.github.com/LucaDb/verceltestws/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaDb%2Fverceltestws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271834430,"owners_count":24830792,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T21:14:38.360Z","updated_at":"2025-08-24T09:20:35.635Z","avatar_url":"https://github.com/LucaDb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Websolute\n\n## Setup project\n\nCreate Vs solution \u0026 init git repo\n\n### vs\n\n```powershell\ndotnet new sln --name ws-bom-sample-basic\ndotnet sln add src/bowl src/mixer src/oven\n```\n\n### repo\n\n```git\ngit init -b main\ngit add .\ngit commit -m \"Init\"\ngit remote add origin https://websolutespa@dev.azure.com/websolutespa/ws-bom-sample-basic/_git/ws-bom-sample-basic\ngit push -u origin --all\n```\n\n---\n\n## Launch project\n\n### serve\n\n### docker stack\n\nCheck composer config \u0026 out dev/prod composer\n\n```powershell\ncopy docker.env.sample docker.env.dev\ncopy docker.env.sample docker.env.prod\n#edit docker.env.dev/prod \ndocker compose --env-file docker.env.dev config\ndocker compose --env-file docker.env.dev config \u003e docker-compose-dev.yml\ndocker compose --env-file docker.env.prod config \u003e docker-compose-prod.yml\n```\n\nEnsure to have a package-lock.json to speed up building time\n\n```powershell\nnpm i --package-lock-only\n```\n\nBuild from compose \u0026 run locally\n\n```powershell\n$PROJECT=\"websolute\"\n$TAG=\"main\"\n$node_version = (cat .nvmrc) -replace '[^0-9,.]',''\ndocker build --progress=plain -f ./src/bowl/Dockerfile --build-arg node_version=$node_version -t $PROJECT-bowl:$TAG .\ndocker build --progress=plain -f ./src/oven/Dockerfile -t $PROJECT-oven:$TAG ./src/oven\ndocker build --progress=plain -f ./src/mixer/Dockerfile --build-arg node_version=$node_version -t $PROJECT-mixer:$TAG .\ndocker compose --env-file docker.env.dev up --remove-orphans -d\n#docker compose --env-file docker.env.local -f docker-compose-local.yml up --remove-orphans -d\n#docker image prune\n```\n\nTag/Push registry images\n\n```powershell\n$REGISTRY=\"wsweb.azurecr.io\"\n$PROJECT=\"websolute\"\n$TAG=\"main\"\ndocker tag $PROJECT-bowl:$TAG $REGISTRY/$PROJECT-bowl:$TAG\ndocker tag $PROJECT-oven:$TAG $REGISTRY/$PROJECT-oven:$TAG\ndocker tag $PROJECT-mixer:$TAG $REGISTRY/$PROJECT-mixer:$TAG\n#docker image prune\n\u003c# \n    .azure registry\n    Ensure login succeded before push images:\n\naz login\naz acr login -n $REGISTRY\n#\u003e\ndocker push $REGISTRY/$PROJECT-bowl:$TAG\ndocker push $REGISTRY/$PROJECT-oven:$TAG\ndocker push $REGISTRY/$PROJECT-mixer:$TAG\n\u003c# \n    .azure registry\n    Check azure registry images status:\n\naz acr repository list --name $REGISTRY \naz acr repository show --name $REGISTRY --repository $PROJECT-bowl\n#\u003e\n```\n\nAzure multi-container app\n\n```powershell\n$PROJECT=\"ws-bom-websolute\"\n$RESOURCEGROUP=\"\u003cWS-myEnv\u003e\"\n$PLAN=\"\u003cmyAppServicePlan\u003e\"\n\u003c# \n    .service plan\n    Create a new service plan if not exists: \n\naz appservice plan create --name $PLAN --resource-group $RESOURCEGROUP --sku S1 --is-linux\naz appservice plan list\n#\u003e\naz webapp create --resource-group $RESOURCEGROUP --plan $PLAN --name $PROJECT --multicontainer-config-type compose --multicontainer-config-file docker-compose-prod.yml\n```\n\nEnable Azure persistent volumes\n\n```powershell\n\u003c#\n    This enable ${WEBAPP_STORAGE_HOME} env var\n#\u003e\n$PROJECT=\"ws-bom-sample-basic\"\n$RESOURCEGROUP=\"\u003cWS-myEnv\u003e\"\naz webapp config appsettings set --resource-group $RESOURCEGROUP --name $PROJECT --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE\n```\n\nIn docker-compose prepend \\${WEBAPP_STORAGE_HOME} to mount path\n\n```yaml\n    volumes:\n      - ${WEBAPP_STORAGE_HOME}/data/mongo/dump:/data/dump\n      - ${WEBAPP_STORAGE_HOME}/data/mongo/backup:/data/backup\n```\n\nAzure SSH session\n\n```powershell\n$SUBSCRIPTION=\"\u003cxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\u003e\"\n$PROJECT=\"ws-bom-sample-basic\"\n$RESOURCEGROUP=\"\u003cWS-myEnv\u003e\"\n#ensure remote debugger is disabled\naz webapp config set --resource-group $RESOURCEGROUP -n $PROJECT --remote-debugging-enabled=false \naz webapp create-remote-connection --subscription $SUBSCRIPTION --resource-group $RESOURCEGROUP -n $PROJECT\n# ssh root@127.0.0.1 -p [local port created for TCP tunnel]\naz webapp list-instances --name $PROJECT --resource-group $RESOURCEGROUP\naz webapp ssh -n $PROJECT -g $RESOURCEGROUP\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucadb%2Fverceltestws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucadb%2Fverceltestws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucadb%2Fverceltestws/lists"}