diff --git a/README.md b/README.md
index ca5f3f4..a60fe26 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,11 @@
-![preview](https://github.com/arifszn/vail/assets/45073703/245f4f93-6c8b-4fd6-8683-8bd713a0f3f7)
+
+
+
+
+
## Introduction
@@ -130,12 +134,15 @@ Vail supports the following services:
- [Multiple Node version](#multiple-node-version)
- [MySQL](#mysql)
-- [PostgreSQL](#postgresql)
- [Adminer](#adminer)
+- [Redis](#redis)
- [MinIO](#minio)
- [Mailpit](#mailpit)
+- [Meilisearch](#meilisearch)
+- [Memcached](#memcached)
- [RabbitMQ](#rabbitmq)
-- [Redis](#redis)
+- [PostgreSQL](#postgresql)
+- [MariaDB](#mariadb)
### Multiple Node version
@@ -145,23 +152,12 @@ This service allows you to run your application with different Node.js versions
MySQL is a popular open-source relational database management system. Vail provides a pre-configured MySQL server.
-The default credentials:
-
-```
-Username: vail
-Password: password
-```
-
-### PostgreSQL
-
-PostgreSQL, often simply "Postgres", is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliance.
+The default config:
-The default credentials:
-
-```
-Username: vail
-Password: password
-```
+- Host: mysql
+- Port: 3306
+- Username: vail
+- Password: password
### Adminer
@@ -171,6 +167,14 @@ Adminer can be accessed at `http://localhost:8080` (default configuration).
![Adminer](https://github.com/arifszn/vail/assets/45073703/3ab55913-6869-4dd1-a55f-ec1e87385aba)
+### Redis
+
+Redis is an open-source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.
+
+The default config:
+
+- Port: 6379
+
### MinIO
MinIO delivers AWS S3 compatible high-performance object storage. It provides the ability to store large amounts of unstructured data. In Vail, a pre-configured MinIO server is included.
@@ -178,15 +182,15 @@ MinIO delivers AWS S3 compatible high-performance object storage. It provides th
MinIO can be used to mock AWS S3 bucket in the local development environment. This is particularly handy while developing features that interact with S3 but you don't want to incur unnecessary AWS costs. To setup MinIO to act as an AWS S3 bucket:
1. Access the MinIO dashboard via `http://localhost:8900`.
+
![MinIO dashboard](https://github.com/arifszn/vail/assets/45073703/49e33577-7674-4eff-b585-1c9b04a38706)
+
2. Login using the MinIO root user and password provided in the Vail setup.
The default credentials:
- ```
- Username: vail
- Password: password
- ```
+ - Username: vail
+ - Password: password
3. Create a new bucket, which will act as your S3 bucket.
4. For your application, use the MinIO host, bucket name, access key, and secret key in place of the AWS S3 details.
@@ -201,32 +205,52 @@ You can send your emails to Mailpit SMTP server at `localhost:1025` and view the
![Mailpit](https://github.com/arifszn/vail/assets/45073703/9968631f-454e-4af2-9d22-a2f1cfbe640b)
-### RabbitMQ
+### Meilisearch
-RabbitMQ is an open-source message-queueing software also known as a message broker or queue manager.
+Meilisearch is an open-source search engine. It's a perfect fit for apps needing to deliver user-friendly, relevant and fast search.
-### Redis
+The default config:
-Redis is an open-source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.
+- Port: 7700
### Memcached
Memcached is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source (such as a database or API) must be read.
-### MariaDB
+The default config:
-MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system, which provides similar features and interface.
+- Port: 11211
-The default credentials:
+### RabbitMQ
-```
-Username: vail
-Password: password
-```
+RabbitMQ is an open-source message-queueing software also known as a message broker or queue manager.
-### Meilisearch
+The default config:
-Meilisearch is an open-source search engine. It's a perfect fit for apps needing to deliver user-friendly, relevant and fast search.
+- Port: 5672
+- Dashboard: `http://localhost:15672`
+
+### PostgreSQL
+
+PostgreSQL, also known as Postgres, is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliance.
+
+The default config:
+
+- Host: pgsql
+- Port: 3306
+- Username: vail
+- Password: password
+
+### MariaDB
+
+MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system, which provides similar features and interface.
+
+The default config:
+
+- Host: mariadb
+- Port: 3306
+- Username: vail
+- Password: password
## Support
diff --git a/package-lock.json b/package-lock.json
index a2937f1..a82ce7b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "vail",
- "version": "0.1.2",
+ "version": "0.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "vail",
- "version": "0.1.2",
+ "version": "0.2.0",
"license": "MIT",
"dependencies": {
"child_process": "^1.0.2",
diff --git a/package.json b/package.json
index 1e2b5af..624fd48 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "vail",
- "version": "0.1.2",
- "description": "Dockerize Your JavaScript/TypeScript Apps Effortlessly.",
+ "version": "0.2.0",
+ "description": "Docker powered local development experience for JavaScript/TypeScript Apps.",
"license": "MIT",
"author": "arifszn",
"repository": {
diff --git a/src/console/init-command.js b/src/console/init-command.js
index 4ef150d..b4bb8fe 100644
--- a/src/console/init-command.js
+++ b/src/console/init-command.js
@@ -11,6 +11,7 @@ const {
NODE_16,
SERVICES,
SERVICES_WITH_VOLUME,
+ DEFAULT_SELECTED_SERVICES,
} = require('../constants/services');
const initCommand = async () => {
@@ -94,7 +95,8 @@ const initCommand = async () => {
message: 'Select the services you want to include:',
name: 'services',
choices: SERVICES,
- default: [],
+ default: DEFAULT_SELECTED_SERVICES,
+ pageSize: SERVICES.length,
},
]);
diff --git a/src/constants/services.js b/src/constants/services.js
index 724ad71..dfcaabc 100644
--- a/src/constants/services.js
+++ b/src/constants/services.js
@@ -16,14 +16,14 @@ const NODE_18 = '18';
const SERVICES = [
MY_SQL,
ADMINER,
+ REDIS,
MINIO,
MAILPIT,
+ MEILISEARCH,
+ MEMCACHED,
RABBITMQ,
PGSQL,
- REDIS,
- MEMCACHED,
MARIADB,
- MEILISEARCH,
];
const SERVICES_WITH_VOLUME = [
@@ -36,6 +36,15 @@ const SERVICES_WITH_VOLUME = [
MEILISEARCH,
];
+const DEFAULT_SELECTED_SERVICES = [
+ MY_SQL,
+ ADMINER,
+ REDIS,
+ MINIO,
+ MAILPIT,
+ MEILISEARCH,
+];
+
const NODE_VERSIONS = [NODE_14, NODE_16, NODE_18];
// export all
@@ -46,4 +55,5 @@ module.exports = {
NODE_18,
SERVICES,
SERVICES_WITH_VOLUME,
+ DEFAULT_SELECTED_SERVICES,
};