https://github.com/alphaorderly/mrshort-url-shortener
도메인 단축 서비스는 참 많은데.. 내가 원하는 기능들은 하나씩 빼먹거나 아니면 다른 사이트에서 막혀버린 경험이 있을겁니다.
그걸 해결하기 위해 만든 서비스!
올리는 방법은 매우 쉽습니다.
version: '3.8'
services:
app:
image: ilov1112/url-shortener-alpha:latest
ports:
- '6824:3000'
environment:
- JWT_SECRET=ea28f835f9be0be2bbc35481ca04543d88ef2474e9500a7baacb6109d4ff7132abba86bdc14f62c6739cff536a042132f0892a668a2750c9b8e897647f8e1bec
- JWT_REFRESH_TOKEN=ea28f835f9be0be2bbc35481ca04543d88ef2474e9500a7baacb6109d4ff7132abba86bdc14f62c6739cff536a042132f0892a668a2750c9b8e897647f8e1bec
- HASH_SALT=thisishashsaltforalphaorderly
- TARGET_URL=http://localhost:6824/
- ID=example_id
- PW=example_pw
- DB_HOST=postgres
- DB_PORT=5432
- DB_USERNAME=example_user
- DB_PASSWORD=example_password
- DB_DATABASE=urlshortener
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_PASSWORD=example_redis
- SERVICE_NAME=MrShort
depends_on:
- postgres
- redis
networks:
- urlshortener
postgres:
image: postgres:13
environment:
POSTGRES_USER: example_user
POSTGRES_PASSWORD: example_password
POSTGRES_DB: urlshortener
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- urlshortener
redis:
image: redis:7.2
command: ['redis-server', '--requirepass', 'example_redis']
volumes:
- ./data:/data
restart: always
networks:
- urlshortener
networks:
urlshortener:
driver: bridge
도커 Compose에 이걸 적고 올리면 끝 이 아니라
조금의 설정을 하시면 됩니다.
JWT_SECRET : jwt 토큰 secret입니다. 쉘에서 openssl rand -hex 64 를 실행해 생성 후 넣습니다.
JWT_REFRESH_TOKEN : refresh jwt 토큰 secret 입니다. 반드시! JWT SECRET 과 다른것을 사용하세요!
HASH_SALT : 비밀번호 해시 솔트입니다. jwt_secret 과 같이 생성 후 넣습니다. ( openssl rand -hex 64 )
TARGET_URL : 배포할 url 주소입니다. 개발을 원하시면 유지하시고 아니면 바꿔주세요
- 끝에 반드시 / 을 붙혀야 합니다.
- Ex. https://testingwebsite.com/
ID : 초기 실행시 만들어질 기본 계정의 아이디입니다. // 초기 실행 이후 삭제하셔도 무방합니다.
PW : 초기 실행시 만들어질 기본 계정의 비밀번호입니다. // 초기 실행 이후 삭제하셔도 무방합니다.
SERVICE_NAME : 메인 화면에 보여질 이름입니다.