Skip to content

cilginc/multiservice-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Service Application

This project is part of roadmap.sh DevOps projects.


This project simulates a real-world, production-like environment using Docker. It includes a multi-service setup with best practices like custom base images, multi-stage builds, Docker secrets, persistent volumes, health checks, optimized Dockerfiles, logging, and more.

The service i maked is simplate Note taking app.

Tech Stack

  • Next.js (Frontend)
  • Node.js + Express (Backend)
  • MongoDB (Database)
  • Redis (Cache)
  • Nginx (Reverse Proxy)
  • Grafana (Data Visualization)
  • Loki (Storing Logs)
  • Promtail (Log Collecting from Docker)
  • Docker (Containers)
  • Docker Compose

Service Endpoints

Getting Started

  1. Clone the Repository
git clone https://github.com/cilginc/multiservice-docker.git
cd multiservice-docker
  1. Run the Docker Compose file
docker compose up -d --build

Accessing Grafana

  1. Simply go to http://localhost:3000/grafana.
  • User: admin
  • Password: admin
  1. Now go to Drilldown -> Logs. Now you can see all the log files.

Using CD with Github Actions

  1. You need to manage Github Secrets first:
  • REMOTE_HOST:IP of the server
  • REMOTE_USER: User of the server
  • SSH_KEY: Your private SSH key
  • SSH_PORT: Your SSH port
  • REMOTE_PATH: Remote path of directory you want such as /home/user/deploy
  1. Don't Forget to change workflow permissions to read and write.
  • This step is required for adding containers to GHCR.
  • Now Github Actions will automaticly deploy your project after push.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages