diff --git a/.vscode/launch.json b/.vscode/launch.json index b950541a63..6a87a90bab 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -41,6 +41,20 @@ "restart": true, "autoAttachChildProcesses": true }, + { + "address": "127.0.0.1", + "localRoot": "${workspaceFolder}/LinkShortner", + "name": "Link Shortner: Debug with Docker", + "port": 9826, + "remoteRoot": "/usr/src/app", + "request": "attach", + "skipFiles": [ + "/**" + ], + "type": "node", + "restart": true, + "autoAttachChildProcesses": true + }, { "address": "127.0.0.1", "localRoot": "${workspaceFolder}/TestServer", diff --git a/docker-compose.tpl.yml b/docker-compose.tpl.yml index a96ed9ba78..98c50a1b42 100644 --- a/docker-compose.tpl.yml +++ b/docker-compose.tpl.yml @@ -243,6 +243,47 @@ services: {{ end }} + link-shortner: + ports: + - '3521:3521' + {{ if eq .Env.ENVIRONMENT "development" }} + - '9826:9229' # Debugging port. + {{ end }} + {{ if or (eq .Env.ENVIRONMENT "development") (eq .Env.ENVIRONMENT "ci") }} + build: + network: host + context: . + dockerfile: ./LinkShortner/Dockerfile + {{ else }} + image: oneuptime/link-shortner:{{ .Env.APP_TAG }} + {{ end }} + restart: always + env_file: + - ./Common/.env + - ./CommonServer/.env + - ./LinkShortner/.env + depends_on: + - redis + - postgres + links: + - redis + - postgres + {{ if eq .Env.ENVIRONMENT "development" }} + volumes: + - ./LinkShortner:/usr/src/app + # Use node modules of the container and not host system. + # https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder + - /usr/src/app/node_modules/ + - ./Common:/usr/src/Common + - ./Model:/usr/src/Model + - ./CommonServer:/usr/src/CommonServer + - ./CommonUI:/usr/src/CommonUI + - /usr/src/Common/node_modules/ + - /usr/src/CommonUI/node_modules/ + - /usr/src/CommonServer/node_modules/ + - /usr/src/Model/node_modules/ + {{ end }} + workflow: ports: - '3099:3099' @@ -262,7 +303,6 @@ services: - ./Common/.env - ./CommonServer/.env - ./Workflow/.env - depends_on: - redis - postgres