This project is a dashboard built with Next.js, containerized with Docker, and deployed using Ansible.
- Modular interface: Create customizable boxes whose size is defined directly in the code.
- NASA API Integration (APOD): Display the image of the day from the API.
- Iframe support: Allows embedding external content inside boxes.
- Automated deployment with Ansible: Simplifies the deployment and configuration management process.
Before you begin, make sure you have the following tools installed:
- Docker and Docker Compose
- Node.js (recommended version: 16.x or higher)
- Ansible (for automated deployment)
If you want to run the dashboard via Docker, use the following command:
docker run -d jchaipas/dashboardtvfsd:latestThis will download and run the Docker image in the background.
If you want to run the project in development mode, follow these steps:
- Clone the repository:
git clone https://github.com/Jch4ipas/DashboardNextjsDockerAnsible.git- Navigate to the project directory:
cd DashboardNextjsDockerAnsible/nextjs- Install the dependencies:
npm install- Start the development server
npm run devThis will start the Next.js server locally. By default, the application will be accessible at http://localhost:3000.
If you want to deploy the dashboard automatically on a remote server, you can use Ansible:
- Modify the inventory/prod.yml configuration file to include your server address.
- Run the Ansible playbook to deploy:
./dashboardsible- /nextjs: Contains the Next.js project files.
- /ansible: Contains the configurations required for automated deployment with Ansible.
- /docker: Contains Docker and Docker Compose configuration files.
You can see my other project here