because I got bored of customising my CV for every job
at main 2.9 kB view raw
1services: 2 db: 3 image: postgres:16-alpine 4 environment: 5 POSTGRES_USER: ${POSTGRES_USER:-cv} 6 POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cv} 7 POSTGRES_DB: ${POSTGRES_DB:-cv} 8 ports: 9 - "${DB_PORT:-5432}:5432" 10 volumes: 11 - db-data:/var/lib/postgresql/data 12 healthcheck: 13 test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-cv} -d ${POSTGRES_DB:-cv}"] 14 interval: 10s 15 timeout: 5s 16 retries: 3 17 18 server: 19 build: 20 context: . 21 dockerfile: apps/server/Dockerfile 22 environment: 23 PORT: ${SERVER_PORT:-3000} 24 JWT_SECRET: ${JWT_SECRET:-your-super-secret-jwt-key-here} 25 JWT_ACCESS_TOKEN_EXPIRY: ${JWT_ACCESS_TOKEN_EXPIRY:-15m} 26 JWT_REFRESH_TOKEN_EXPIRY: ${JWT_REFRESH_TOKEN_EXPIRY:-7d} 27 DATABASE_URL: ${DATABASE_URL:-postgresql://cv:cv@db:5432/cv} 28 ENCRYPTION_KEY: ${ENCRYPTION_KEY} 29 RESEND_API_KEY: ${RESEND_API_KEY} 30 depends_on: 31 db: 32 condition: service_healthy 33 ports: 34 - "${SERVER_PORT:-3000}:3000" 35 volumes: 36 - ./apps/server/src:/app/apps/server/src 37 - ./apps/server/prisma:/app/apps/server/prisma 38 - ./packages:/app/packages 39 - npm-cache:/root/.npm 40 command: sh -c "npm run prisma:deploy --workspace=@cv/server && npm run dev --workspace=@cv/server" 41 healthcheck: 42 test: ["CMD", "curl", "-f", "http://localhost:3000/health"] 43 interval: 15s 44 timeout: 5s 45 retries: 3 46 start_period: 30s 47 48 client: 49 build: 50 context: . 51 dockerfile: apps/client/Dockerfile 52 target: development 53 environment: 54 VITE_SERVER_URL: ${VITE_SERVER_URL:-http://localhost:3000} 55 VITE_DOCS_URL: ${VITE_DOCS_URL:-http://localhost:3001} 56 GRAPHQL_SCHEMA_URL: ${GRAPHQL_SCHEMA_URL:-http://server:3000/graphql} 57 depends_on: 58 server: 59 condition: service_healthy 60 ports: 61 - "${CLIENT_PORT:-5173}:5173" 62 volumes: 63 - ./apps/client/src:/app/apps/client/src 64 - ./packages:/app/packages 65 - npm-cache:/root/.npm 66 command: sh -c "npm run codegen --workspace=@cv/client && npm run dev --workspace=@cv/client" 67 healthcheck: 68 test: ["CMD", "curl", "-f", "http://localhost:5173"] 69 interval: 15s 70 timeout: 5s 71 retries: 3 72 start_period: 20s 73 74 docs: 75 build: 76 context: . 77 dockerfile: apps/docs/Dockerfile 78 target: development 79 environment: 80 VITE_CLIENT_URL: ${VITE_CLIENT_URL:-http://localhost:5173} 81 VITE_SERVER_URL: ${VITE_SERVER_URL:-http://localhost:3000} 82 ports: 83 - "${DOCS_PORT:-3001}:3001" 84 volumes: 85 - ./apps/docs/src:/app/apps/docs/src 86 - ./apps/docs/content:/app/apps/docs/content 87 - ./packages:/app/packages 88 - npm-cache:/root/.npm 89 healthcheck: 90 test: ["CMD", "curl", "-f", "http://localhost:3001"] 91 interval: 15s 92 timeout: 5s 93 retries: 3 94 start_period: 20s 95 96volumes: 97 db-data: 98 npm-cache: