141 lines
2.8 KiB
Markdown
141 lines
2.8 KiB
Markdown
# Gerald 🚀
|
|
|
|
[](https://opensource.org/licenses/MIT)
|
|
[](https://www.docker.com/)
|
|
[](https://shields.io/)
|
|
|
|
Gerald is an awesome project that [brief description of what your project does].
|
|
|
|
## 🌟 Features
|
|
|
|
- Feature 1
|
|
- Feature 2
|
|
- Feature 3
|
|
- [Add more features]
|
|
|
|
## 🚀 Quick Start with Docker Compose
|
|
|
|
### Prerequisites
|
|
|
|
- [Docker](https://docs.docker.com/get-docker/)
|
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
|
|
|
### Installation
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone repositorie
|
|
cd gerald
|
|
```
|
|
|
|
2. Create a `.env` file in the project root:
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
3. Configure your environment variables in `.env`:
|
|
```env
|
|
# Example configuration
|
|
POSTGRES_USER=gerald
|
|
POSTGRES_PASSWORD=yourpassword
|
|
POSTGRES_DB=geralddb
|
|
```
|
|
|
|
4. Start the application:
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
That's it! 🎉 The application should now be running at `http://localhost:3000`
|
|
|
|
### Docker Compose Configuration
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: postgres:14-alpine
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
postgres_data:
|
|
```
|
|
|
|
## 🛠️ Development Setup
|
|
|
|
For development, you can use the following command:
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml up
|
|
```
|
|
|
|
## 📝 Additional Commands
|
|
|
|
```bash
|
|
# Stop all containers
|
|
docker-compose down
|
|
|
|
# View logs
|
|
docker-compose logs -f
|
|
|
|
# Rebuild containers
|
|
docker-compose up -d --build
|
|
|
|
# Remove volumes
|
|
docker-compose down -v
|
|
```
|
|
|
|
## 🔍 Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **Port conflicts**
|
|
```bash
|
|
# Change the port mapping in docker-compose.yml
|
|
ports:
|
|
- "3001:3000" # Maps port 3000 from container to port 3001 on host
|
|
```
|
|
|
|
2. **Database connection issues**
|
|
- Ensure your `.env` file has the correct database credentials
|
|
- Check if the database container is running: `docker-compose ps`
|
|
|
|
## 🤝 Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
5. Open a Pull Request
|
|
|
|
## 📜 License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## 🙏 Acknowledgments
|
|
|
|
- Hat tip to anyone whose code was used
|
|
- Inspiration
|
|
- etc
|
|
|
|
---
|
|
|
|
Made with ❤️ by [Oct App]
|