diff --git a/README.md b/README.md index 8c4912b..ef836a3 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ This repo is for containers running on Charles (@ReachableCEO) laptop | wger | 1003 | | tube-archivist | 1004 | | dashboard | 1005 | +| vscode-server | 1006 | ## Secrets diff --git a/upstream/reactive-resume/docker-compose.yml b/upstream/reactive-resume/docker-compose.yml index 5cda386..d30f3bc 100644 --- a/upstream/reactive-resume/docker-compose.yml +++ b/upstream/reactive-resume/docker-compose.yml @@ -1,8 +1,111 @@ +version: "3.8" + +# In this Docker Compose example, it assumes that you maintain a reverse proxy externally (or chose not to). +# The only two exposed ports here are from minio (:9000) and the app itself (:3000). +# If these ports are changed, ensure that the env vars passed to the app are also changed accordingly. + services: - resume-matcher: - image : resume-matcher - build: - context: ./ - dockerfile : build.dockerfile - ports: - - 80:8501 + # Database (Postgres) + postgres: + image: postgres:16-alpine + restart: unless-stopped + volumes: + - postgres_data:/var/lib/postgresql/data + environment: + POSTGRES_DB: postgres + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"] + interval: 10s + timeout: 5s + retries: 5 + + # Storage (for image uploads) + minio: + image: minio/minio + restart: unless-stopped + command: server /data + ports: + - "9000:9000" + volumes: + - minio_data:/data + environment: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + + # Chrome Browser (for printing and previews) + chrome: + image: ghcr.io/browserless/chromium:latest + restart: unless-stopped + environment: + TIMEOUT: 10000 + CONCURRENT: 10 + TOKEN: chrome_token + EXIT_ON_HEALTH_FAILURE: true + PRE_REQUEST_HEALTH_CHECK: true + + app: + image: amruthpillai/reactive-resume:latest + restart: unless-stopped + ports: + - "3000:3000" + depends_on: + - postgres + - minio + - chrome + environment: + # -- Environment Variables -- + PORT: 3000 + NODE_ENV: production + + # -- URLs -- + PUBLIC_URL: http://localhost:3000 + STORAGE_URL: http://localhost:9000/default + + # -- Printer (Chrome) -- + CHROME_TOKEN: chrome_token + CHROME_URL: ws://chrome:3000 + + # -- Database (Postgres) -- + DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres + + # -- Auth -- + ACCESS_TOKEN_SECRET: access_token_secret + REFRESH_TOKEN_SECRET: refresh_token_secret + + # -- Emails -- + MAIL_FROM: noreply@localhost + # SMTP_URL: smtp://user:pass@smtp:587 # Optional + + # -- Storage (Minio) -- + STORAGE_ENDPOINT: minio + STORAGE_PORT: 9000 + STORAGE_REGION: us-east-1 # Optional + STORAGE_BUCKET: default + STORAGE_ACCESS_KEY: minioadmin + STORAGE_SECRET_KEY: minioadmin + STORAGE_USE_SSL: false + STORAGE_SKIP_BUCKET_CHECK: false + + # -- Crowdin (Optional) -- + # CROWDIN_PROJECT_ID: + # CROWDIN_PERSONAL_TOKEN: + + # -- Email (Optional) -- + # DISABLE_SIGNUPS: false + # DISABLE_EMAIL_AUTH: false + + # -- GitHub (Optional) -- + # GITHUB_CLIENT_ID: github_client_id + # GITHUB_CLIENT_SECRET: github_client_secret + # GITHUB_CALLBACK_URL: http://localhost:3000/api/auth/github/callback + + # -- Google (Optional) -- + # GOOGLE_CLIENT_ID: google_client_id + # GOOGLE_CLIENT_SECRET: google_client_secret + # GOOGLE_CALLBACK_URL: http://localhost:3000/api/auth/google/callback + +volumes: + minio_data: + postgres_data: diff --git a/upstream/resume-matcher/docker-compose.yml b/upstream/resume-matcher/docker-compose.yml new file mode 100644 index 0000000..5cda386 --- /dev/null +++ b/upstream/resume-matcher/docker-compose.yml @@ -0,0 +1,8 @@ +services: + resume-matcher: + image : resume-matcher + build: + context: ./ + dockerfile : build.dockerfile + ports: + - 80:8501 diff --git a/webapps/easy-gate/easy-gate.json b/webapps/easy-gate/easy-gate.json new file mode 100644 index 0000000..8c92c69 --- /dev/null +++ b/webapps/easy-gate/easy-gate.json @@ -0,0 +1,65 @@ +{ + "addr": "0.0.0.0:1005", + "use_tls": false, + "cert_file": "", + "key_file": "", + "behind_proxy": false, + "title": "ReachableCEO Laptop Dashboard", + "theme": { + "background": "#FFFFFF", + "foreground": "#000000" + }, + "groups": [ + { + "name": "internal", + "subnet": "192.168.1.1/24" + }, + { + "name": "vpn", + "subnet": "10.8.1.1/24" + } + ], + "services": [ + { + "name": "WAKAAPI", + "category": "", + "url": "http://localhost:1001", + }, + { + "name": "Metrics", + "category": "", + "url": "http://localhost:1002", + }, + { + "name": "Workout Tracking", + "category": "", + "url": "http://localhost:1003", + }, + { + "name": "Tube Archivist", + "category": "", + "url": "http://localhost:1004", + }, + { + "name": "VsCode Server", + "category": "", + "url": "http://localhost:1006", + } + ], + "notes": [ + { + "name": "Simple note", + "text": "This is a simple note for vpn users", + "groups": [ + "vpn" + ] + }, + { + "name": "Another note", + "text": "Another note for internal users only", + "groups": [ + "internal" + ] + } + ] +} \ No newline at end of file diff --git a/webapps/vscode-server/docker-compose.yml b/webapps/vscode-server/docker-compose.yml new file mode 100644 index 0000000..e010df0 --- /dev/null +++ b/webapps/vscode-server/docker-compose.yml @@ -0,0 +1,9 @@ +services: + tsys-vscode-server: + image: gitpod/openvscode-server + container_name: tsys-vscode-server + restart: always + ports: + - 1006:8080 + volumes: + - tsys-vscode-server:/home/workspace:cached \ No newline at end of file diff --git a/webapps/vscode-server/run.sh b/webapps/vscode-server/run.sh deleted file mode 100644 index abeada7..0000000 --- a/webapps/vscode-server/run.sh +++ /dev/null @@ -1 +0,0 @@ -docker run -it --init -p 1003:3000 -v "tsys-vscode:/home/workspace:cached" gitpod/openvscode-server