diff --git a/services/our/docker-compose.yml b/services/our/compose.development.yaml similarity index 69% rename from services/our/docker-compose.yml rename to services/our/compose.development.yaml index ef24013..27a953d 100644 --- a/services/our/docker-compose.yml +++ b/services/our/compose.development.yaml @@ -1,24 +1,11 @@ services: - - # caddy: - # image: caddy:alpine - # ports: - # - "8081:80" - # volumes: - # - ./public:/srv - # - ./Caddyfile:/etc/caddy/Caddyfile - - postgres: container_name: our-postgres image: postgres:17 restart: unless-stopped - environment: - POSTGRES_USER: ${DB_USER} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: ${DB_NAME} + env_file: ./../../.env ports: - "5432:5432" volumes: @@ -36,8 +23,7 @@ services: depends_on: postgres: condition: service_healthy - environment: - PGWEB_DATABASE_URL: postgres://${DB_USER}:${DB_PASSWORD}@postgres:5432/${DB_NAME}?sslmode=disable + env_file: ./../../.env ports: - "8091:8081" healthcheck: @@ -57,6 +43,21 @@ services: # ports: # - "5050:5050" + our: + build: + context: . + dockerfile: Dockerfile + container_name: our-app + ports: + - "5000:5000" + env_file: ./../../.env ## @see ./src/config/env.ts for all env var names. + depends_on: + postgres: + condition: service_healthy + networks: + - default + entrypoint: > + sh -c "npm run deploy && npm run start:server" volumes: pgdata: \ No newline at end of file diff --git a/services/our/compose.production.yml b/services/our/compose.production.yaml similarity index 56% rename from services/our/compose.production.yml rename to services/our/compose.production.yaml index 9db3526..7f7df6c 100644 --- a/services/our/compose.production.yml +++ b/services/our/compose.production.yaml @@ -11,16 +11,13 @@ services: - ./public:/srv - ./Caddyfile:/etc/caddy/Caddyfile networks: - - our + - default postgres: container_name: our-postgres image: postgres:17 restart: unless-stopped - environment: - POSTGRES_USER: ${DB_USER} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: ${DB_NAME} + env_file: ./.env ports: - "5432:5432" volumes: @@ -32,35 +29,39 @@ services: start_period: 10s timeout: 10s networks: - - our + - default - pgadmin: - image: dpage/pgadmin4:latest - environment: - PGADMIN_LISTEN_PORT: 5050 - PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL} - PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} - PGADMIN_DISABLE_POSTFIX: true - ports: - - "5050:5050" - networks: - - our - - - our: + server: image: gitea.futureporn.net/futureporn/our:latest - container_name: our-app + container_name: our-server ports: - "5000:5000" - env_file: .env.production ## @see ./src/config/env.ts for all env var names. + env_file: ./.env depends_on: postgres: condition: service_healthy networks: - - our + - default + init: true + entrypoint: > + sh -c "npm run deploy && npm run start:server" + + worker: + image: gitea.futureporn.net/futureporn/our:latest + container_name: our-worker + env_file: ./.env + depends_on: + postgres: + condition: service_healthy + networks: + - default + init: true + entrypoint: > + sh -c "npm run start:worker" + volumes: pgdata: networks: - our: \ No newline at end of file + default: {} \ No newline at end of file diff --git a/services/our/package.json b/services/our/package.json index 3b313d9..8958886 100644 --- a/services/our/package.json +++ b/services/our/package.json @@ -13,14 +13,12 @@ "start:server": "tsx ./src/index.ts", "start:worker": "tsx ./src/worker.ts", "preview": "vite preview", - "prepare": "svelte-kit sync || echo ''", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "dev:worker": "GRAPHILE_LOGGER_DEBUG=1 tsx watch ./src/worker.ts", "dev:build": "chokidar 'src/**/*.{js,ts}' -c tsup --clean", "build": "tsup --clean", "lint": "eslint .", - "clean": "rm -rf node_modules && rm -rf pnpm-lock.yaml" + "clean": "rm -rf node_modules && rm -rf pnpm-lock.yaml", + "deploy": "npx prisma migrate deploy" }, "devDependencies": { "@eslint/compat": "^1.3.1", @@ -113,4 +111,4 @@ "prisma": { "seed": "tsx prisma/seed.ts" } -} +} \ No newline at end of file diff --git a/services/our/src/config/env.ts b/services/our/src/config/env.ts index e86140f..5fec3da 100644 --- a/services/our/src/config/env.ts +++ b/services/our/src/config/env.ts @@ -26,6 +26,7 @@ const EnvSchema = z.object({ }); const parsed = EnvSchema.safeParse(process.env); +console.log(parsed) if (!parsed.success) { console.error('❌ Invalid environment variables:', parsed.error.flatten().fieldErrors);