From 47dc72474ea769aeff2834ac890fe9c7e595ffe4 Mon Sep 17 00:00:00 2001 From: Charles Wyble Date: Thu, 10 Oct 2024 12:56:23 -0500 Subject: [PATCH] moving stuff of laptop to cloud. yay. --- cosmos/reactive0resume/docker-compose.yml | 113 ++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 cosmos/reactive0resume/docker-compose.yml diff --git a/cosmos/reactive0resume/docker-compose.yml b/cosmos/reactive0resume/docker-compose.yml new file mode 100644 index 0000000..5c039f8 --- /dev/null +++ b/cosmos/reactive0resume/docker-compose.yml @@ -0,0 +1,113 @@ +# 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: + # Database (Postgres) + offstage-reactiveresume-postgres: + image: postgres:16-alpine + restart: unless-stopped + container_name: offstage-reactiveresume-postgres + volumes: + - offstage-reactiveresume-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) + offstage-reactiveresume-minio: + image: minio/minio + restart: unless-stopped + container_name: offstage-reactiveresume-minio + command: server /data + ports: + - "9000:9000" + volumes: + - offstage-reactiveresume-minio_data:/data + environment: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + + # Chrome Browser (for printing and previews) + offstage-reactiveresume-chrome: + image: ghcr.io/browserless/chromium:latest + restart: unless-stopped + container_name: offstage-reactiveresume-chrome + environment: + TIMEOUT: 10000 + CONCURRENT: 10 + TOKEN: chrome_token + EXIT_ON_HEALTH_FAILURE: true + PRE_REQUEST_HEALTH_CHECK: true + + offstage-reactiveresume-app: + image: amruthpillai/reactive-resume:latest + restart: unless-stopped + container_name: offstage-reactiveresume-app + ports: + - "3000:3000" + depends_on: + - offstage-reactiveresume-postgres + - offstage-reactiveresume-minio + - offstage-reactiveresume-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://offstage-reactiveresume-chrome:3000 + + # -- Database (Postgres) -- + DATABASE_URL: postgresql://postgres:postgres@offstage-reactiveresume-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: offstage-reactiveresume-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: + offstage-reactiveresume-minio_data: + offstage-reactiveresume-postgres_data: \ No newline at end of file