Microservice boilerplate for SamagraX
git clone --depth 1 https://github.com/ChakshuGautam/stencil.git my-app
cd my-app/
cp env-example .env
docker compose up setup
docker compose up -d
For checking status of containers run
docker compose logs
Stencil provides support for logging in 2 modes:
Axiom provides structured, customizable logging with features like custom log levels, log message formatting, filtering, and flexible storage options. Make sure to replace the values of DATASET_NAME
and TOKEN
in logging/logstash/pipeline/axiom.conf
ELK offers centralized log management using Elasticsearch for storage, Logstash for parsing and transformation, and Kibana for real-time analytics, custom dashboards, and scalability. Stencil provides out of the box support for ELK stack. Once all the containers are up, go to https://localhost:5601 to access kibana console. The default username is elastic
and password is changeme
which can be configured through .env .
git clone --depth 1 https://github.com/ChakshuGautam/stencil.git my-app
cd my-app/
cp env-example .env
Change DATABASE_HOST=postgres
to DATABASE_HOST=localhost
Change MAIL_HOST=maildev
to MAIL_HOST=localhost
Run additional container:
docker compose up -d postgres adminer maildev
npm install
npm run migration:run
npm run seed:run
npm run start:dev
Streamline your development process by running your project inside a Docker container. Follow these steps to get started:
Open the Project in Visual Studio Code
Open the Project in a Docker Container
Control+P
to bring up the command palette.> Reopen in container
and select it. This will open your project inside a Docker container.If you encounter the following error upon starting the project:
node:internal/modules/cjs/loader:1080
throw err;
^
Error: Cannot find module '/root/.vscode-server/data/User/workspaceStorage/b2d44a48cb3eb862caab3a51d86d99df/ms-vscode.js-debug/bootloader.js'
Require stack:
- internal/preload
You can resolve it by following these steps:
Disable Auto Attach in VS Code
Re-enable Auto Attach
If you want to automatically update dependencies, you can connect Renovate for your project.
docker compose -f docker-compose.ci.yaml --env-file env-example -p ci up --build --exit-code-from api && docker compose -p ci rm -svf
docker run --rm jordi/ab -n 100 -c 100 -T application/json -H "Authorization: Bearer USER_TOKEN" -v 2 http://<server_ip>:3000/api/v1/users
You can follow the below steps for building the docs locally:
cd docs
npm install
npm start
Apart from accessing the docs locally, you can also refer to the online documentation of stencil