Server 환경 설정 - boostcamp-2020/Project12-B-Slack-Web GitHub Wiki

server env 설정

  • server 디렉토리의 .env.sample 파일을 참고하여 development.env, production.env 파일을 생성합니다.

  • .env.sample

    # PORT
    PORT=port
    
    # DB
    DB_HOST=db_host
    DB_PORT=db_port
    DB_USERNAME=db_username
    DB_PASSWORD=db_password
    DB_DATABASE=db_database
    
    # REDIS
    REDIS_PORT=redis_port
    REDIS_HOST=reids_host
    
    # PASSPORT
    CLIENT_ID=client_id
    CLIENT_SECRET=client_secret
    CALLBACK_URL=callback_url
    
    # JWT
    JWT_SECRET=jwt_secret
    
    # SESSION
    SESSION_SECRET=session_secret
    
    # CLIENT
    CLIENT_ADDRESS=client_address
    

ormconfig env 설정

  • server 디렉토리의 ormconfig.env 파일을 생성합니다.

    TYPEORM_SEEDING_FACTORIES=src/factories/**/*{.ts,.js}
    TYPEORM_SEEDING_SEEDS=src/seeds/**/*{.ts,.js}
    TYPEORM_ENTITIES=src/model/**/*.ts
    TYPEORM_CONNECTION=typeorm_connection 
    TYPEORM_HOST=typeorm_host 
    TYPEORM_USERNAME=typeorm_username 
    TYPEORM_PASSWORD=typeorm_pasword 
    TYPEORM_DATABASE=typeorm_database 
    TYPEORM_PORT=typeorm_port 
    TYPEORM_SYNCHRONIZE=true
    TYPEORM_LOGGING=false
    

docker-compose 활용 방법

  • server 개발을 하는 데 있어서 docker-compose를 이용해 개발 환경을 구성하기로 했습니다.

  • docker-compose를 이용해 MySQL 컨테이너와 Redis 컨테이너를 실행합니다.

  • 환경 설정 파일은 development.env 파일을 server와 공유하여 사용합니다.

  • 실행 방법 (server 디렉토리에서 아래 명령을 실행합니다.)

    $ docker-compose --env-file development.env up -d
  • 종료 방법

    $ docker-compose --env-file development.env down
  • volume 설정을 해둬 컨테이너가 종료되어도 데이터가 유지될 수 있도록 했습니다.

  • 아래 명령어로 volume 확인 및 삭제가 가능합니다.

    $ docker volume ls
    DRIVER              VOLUME NAME
    local               server_dbdata
    local               server_redisdata
    
    $ docker volume rm server_redisdata

참고 사이트

⚠️ **GitHub.com Fallback** ⚠️