This project provides a Docker Compose setup designed for backend developers focusing on AI-related, data-centric services. It's optimized for rapid prototyping of backend APIs without the need for UI components.
.
├── LICENSE
├── README.md
├── config
│ ├── nginx
│ │ └── default.conf
│ ├── postgres
│ │ └── postgres.conf
│ └── redis
│ └── redis.conf
├── docker-compose.yml
├── scripts
│ └── init_db.sh
└── src
└── app
└── Dockerfile
config/
: Configuration files for Nginx, PostgreSQL, and Redis services.scripts/
: Contains scripts for database initialization or migrations.src/
: Source code for the backend application, including the Dockerfile.
- Docker Compose: Simplifies the setup and running of multiple containerized services, including Nginx, Redis, PostgreSQL, MongoDB, and a Node.js application.
- Configurable Services: Custom configuration files for key services to optimize performance and behavior according to project needs.
- Rapid Prototyping: Scripts and configurations designed to fast-track the setup and initialization of databases and services for rapid backend prototyping.
- Docker and Docker Compose installed on your system.
-
Clone this repository to your local machine.
git clone <repository-url>
-
Navigate to the project directory.
cd <project-directory>
-
Review and customize the service configuration files under
config/
as necessary for your development environment. -
Customize the Node.js application Dockerfile in
src/app
as required for your backend service. -
Use the
scripts/init_db.sh
script to initialize your databases with necessary schemas or data.
To launch all configured services:
docker-compose up -d
This command starts your services in detached mode. Use the following to view logs:
docker-compose logs -f
To stop all services and remove containers:
docker-compose down
- Add or modify services in
docker-compose.yml
as needed for your project. - Update environment variables and configuration files to fine-tune each service.
- Expand the
src/
directory with your project's backend application code.
- Update default credentials for services before moving to production.
- Secure your services with appropriate network rules and encryption.
- If services fail to start, check the Docker Compose logs for specific error messages.
- Ensure that no port conflicts occur with the host or among services.
Contributions to improve the setup or add more features are welcome. Please fork the repository and submit a pull request with your changes.
This project is open-sourced under the MIT License.