Skip to content

Latest commit

 

History

History
74 lines (58 loc) · 2.95 KB

DEVELOPMENT.md

File metadata and controls

74 lines (58 loc) · 2.95 KB

Zeppelin development environment

⚠️ Updating from before 30 Mar 2024? See MIGRATE_DEV.md for instructions.

Zeppelin's development environment runs entirely within a Docker container. Below you can find instructions for setting up the environment and getting started with development!

Note: If you'd just like to run the bot for your own server, see 👉 PRODUCTION.md 👈

Starting the development environment

Using VSCode devcontainers

  1. Install Docker
  2. Make a copy of .env.example called .env
  3. Fill in the missing values in .env
  4. In VSCode: Install the Dev Containers plugin
  5. In VSCode: Run Dev Containers: Open Folder in Container... and select the Zeppelin folder

Using VSCode remote SSH plugin

  1. Install Docker
  2. Make a copy of .env.example called .env
  3. Fill in the missing values in .env
  4. Run docker compose -f docker-compose.development.yml up to start the development environment
  5. In VSCode: Install the Remote - SSH plugin
  6. In VSCode: Run Remote-SSH: Connect to Host...
    • As the address, use [email protected]:3022 (where 3022 matches DEVELOPMENT_SSH_PORT in .env)
    • Use the password specified in .env as DEVELOPMENT_SSH_PASSWORD
  7. In VSCode: Once connected, click Open folder... and select /home/ubuntu/zeppelin

Using JetBrains Gateway

  1. Install Docker
  2. Make a copy of .env.example called .env
  3. Fill in the missing values in .env
  4. Run docker compose -f docker-compose.development.yml up to start the development environment
  5. Choose Connect via SSH and create a new connection:
    • Username: ubuntu
    • Host: 127.0.0.1
    • Port: 3022 (matching the DEVELOPMENT_SSH_PORT value in .env)
  6. Click Check Connection and Continue and enter the password specified in .env as DEVELOPMENT_SSH_PASSWORD when asked
  7. In the next pane:
    • IDE version: WebStorm, PHPStorm, or IntelliJ IDEA
    • Project directory: /home/ubuntu/zeppelin
  8. Click Download and Start IDE

Using any other IDE with SSH development support

  1. Install Docker
  2. Make a copy of .env.example called .env
  3. Fill in the missing values in .env
  4. Run docker compose -f docker-compose.development.yml up to start the development environment
  5. Use the following credentials for connecting with your IDE:
    • Host: 127.0.0.1
    • Port: 3022 (matching the DEVELOPMENT_SSH_PORT value in .env)
    • Username: ubuntu
    • Password: As specified in .env as DEVELOPMENT_SSH_PASSWORD

Starting the project

These commands are run inside the dev container. You should be able to open a terminal in your IDE after connecting to the dev environment.

1. Install dependencies

  1. npm ci

Starting the backend (bot + api)

  1. cd ~/zeppelin/backend
  2. npm run watch

Starting the dashboard

  1. cd ~/zeppelin/dashboard
  2. npm run watch

Opening the dashboard

Browse to https://localhost:3300 to view the dashboard