diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..1e96159 --- /dev/null +++ b/.env.example @@ -0,0 +1,19 @@ +# Database Configuration +POSTGRES_USER=admin +POSTGRES_PASSWORD=adminpassword +POSTGRES_DB=occto_db +DATABASE_URL=postgresql://admin:adminpassword@postgres:5432/occto_db?schema=public + +# MinIO Configuration +MINIO_ROOT_USER=admin +MINIO_ROOT_PASSWORD=adminpassword +MINIO_ENDPOINT=minio +MINIO_PORT=9000 +MINIO_USE_SSL=false +MINIO_ACCESS_KEY=admin +MINIO_SECRET_KEY=adminpassword +MINIO_BUCKET_NAME=occto-images + +# Application +NODE_ENV=production +JWT_SECRET=b33500bb3dc5504535c34cc5f79f4ca0f60994b093bded14d48f76c0c090f032234693219e60398cab053a9c55c1d426ef7b1768104db9040254ba7db452f708 diff --git a/docker-compose.yml b/docker-compose.yml index 2115e40..11beb49 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,15 +4,15 @@ services: image: postgres:15 container_name: occto_postgres environment: - POSTGRES_USER: admin - POSTGRES_PASSWORD: adminpassword - POSTGRES_DB: occto_db + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} volumes: - postgres_data:/var/lib/postgresql/data networks: - occto_network healthcheck: - test: ["CMD-SHELL", "pg_isready -U admin -d occto_db"] + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] interval: 10s timeout: 5s retries: 5 @@ -21,8 +21,8 @@ services: image: minio/minio:RELEASE.2023-09-04T19-57-37Z container_name: occto_minio environment: - MINIO_ROOT_USER: admin - MINIO_ROOT_PASSWORD: adminpassword + MINIO_ROOT_USER: ${MINIO_ROOT_USER} + MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} volumes: - minio_data:/data networks: @@ -38,15 +38,15 @@ services: ports: - "3001:3000" environment: - - NODE_ENV=production - - DATABASE_URL=postgresql://admin:adminpassword@postgres:5432/occto_db?schema=public - - MINIO_ENDPOINT=minio - - MINIO_PORT=9000 - - MINIO_USE_SSL=false - - MINIO_ACCESS_KEY=admin - - MINIO_SECRET_KEY=adminpassword - - MINIO_BUCKET_NAME=occto-images - - JWT_SECRET=b33500bb3dc5504535c34cc5f79f4ca0f60994b093bded14d48f76c0c090f032234693219e60398cab053a9c55c1d426ef7b1768104db9040254ba7db452f708 + - NODE_ENV=${NODE_ENV} + - DATABASE_URL=${DATABASE_URL} + - MINIO_ENDPOINT=${MINIO_ENDPOINT} + - MINIO_PORT=${MINIO_PORT} + - MINIO_USE_SSL=${MINIO_USE_SSL} + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME} + - JWT_SECRET=${JWT_SECRET} depends_on: postgres: condition: service_healthy