diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 000000000..149aec379 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,32 @@ +version: '3' +services: + db: + container_name: feishin_db + image: postgres:13 + volumes: + - ${DATABASE_PERSIST_PATH}:/var/lib/postgresql/data + environment: + - POSTGRES_USER=${DATABASE_USERNAME} + - POSTGRES_PASSWORD=${DATABASE_PASSWORD} + - POSTGRES_DB=${DATABASE_NAME} + ports: + - '${DATABASE_PORT}:5432' + restart: unless-stopped + server: + container_name: feishin + build: + context: . + dockerfile: Dockerfile + image: feishin + depends_on: + - db + environment: + - APP_BASE_URL=${APP_BASE_URL} + - DATABASE_URL=postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@db/${DATABASE_NAME}?schema=public&connection_limit=14&pool_timeout=20 + - DATABASE_PORT=${DATABASE_PORT} + - TOKEN_SECRET=${TOKEN_SECRET} + - TOKEN_EXPIRATION=${TOKEN_EXPIRATION} + - TOKEN_REFRESH_EXPIRATION=${TOKEN_REFRESH_EXPIRATION} + ports: + - '8643:9321' + restart: unless-stopped diff --git a/docker-compose.yml b/docker-compose.yml index 149aec379..64bbab162 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,10 +14,7 @@ services: restart: unless-stopped server: container_name: feishin - build: - context: . - dockerfile: Dockerfile - image: feishin + image: jeffvictorli/feishin:latest depends_on: - db environment: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 3c422624c..37ed0b0d1 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,3 +1,5 @@ +./wait-for-it.sh db:$1 --timeout=20 --strict -- echo "db is up" + npx prisma migrate deploy npx ts-node prisma/seed.ts pm2-runtime server.js