
Uppcoder의 무료 Spark 요금제에서는 Django 앱 하나와 PostgreSQL 데이터베이스 하나를 배포하고, 브라우저용 VS Code와 터미널을 함께 이용할 수 있다. 카드 등록은 필요 없으며 앱은 자체 HTTPS 주소를 받는다.
- 앱 하나와 데이터베이스 하나에 메모리 2GB, 디스크 2GB를 제공한다.
- VS Code와 터미널은 앱과 같은 컨테이너에서 실행된다. SSH로 외부 편집기를 연결할 수도 있다.
무료 플랜을 시작하려면 portal.uppcoder.com에 가입한 뒤 확인 이메일의 링크를 눌러 주소를 인증해야 한다. 인증 후 Billing에서 Available Plans, Spark, Start free를 차례로 선택한다.
앱은 Stacks에서 Create, Blank stack을 선택해 만든다. 카탈로그에서 Django를 찾고 PostgreSQL을 추가하면 데이터베이스가 앱에 자동 연결된다. 앱 이름과 Django 관리자 계정의 사용자 이름·비밀번호·이메일을 입력한다. 기본 설정에서는 VS Code, Terminal, Files, SSH가 선택돼 있다. 데이터베이스 설정(Under Database)에서 ‘Connect the app to PostgreSQL 16’을 선택하면 배포 과정에서 연결이 설정된다. 선택을 해제하면 Django 기본 데이터베이스로 시작하고 PostgreSQL은 나중에 연결할 수 있다. PostgreSQL 사용자 이름과 비밀번호를 입력하면 데이터베이스 이름은 자동으로 채워진다.
배포(Press Deploy)를 누르고 요약을 확인한 뒤 Confirm and deploy를 선택한다. 원문에 소개된 배포 사례에서는 앱이 33초 만에 실행됐다. 스택 페이지에서 앱 주소, VS Code, 웹 터미널, 데이터베이스 정보를 확인할 수 있고, 앱 주소를 열면 Django 시작 페이지가 표시된다.
PostgreSQL 연결을 선택한 경우 Uppcoder는 배포 후 약 30초 안에 PostgreSQL 드라이버인 psycopg를 설치하고, mysite/settings.py의 DATABASES 설정을 데이터베이스에 맞춘다. 이어 migrate를 실행하고 입력한 정보로 관리자 계정을 만든다. HTTPS 환경에서 Django 폼이 작동하도록 앱 주소도 CSRF_TRUSTED_ORIGINS에 추가한다. 설정값은 앱 환경에서 가져오므로 비밀번호를 코드에 넣지 않으며, 연결 정보는 스택 페이지의 Connection details에서 확인할 수 있다. 앱 주소 뒤에 /admin/을 붙여 관리자 페이지에 로그인하면 된다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': os.environ['POSTGRES_DB'], 'USER': os.environ['POSTGRES_USER'], 'PASSWORD': os.environ['POSTGRES_PASSWORD'], 'HOST': os.environ['POSTGRES_HOST'], 'PORT': os.environ.get('POSTGRES_PORT', '5432'), } } CSRF_TRUSTED_ORIGINS = [os.environ['UPPCODER_SELF_URL']] if os.environ.get('UPPCODER_SELF_URL') else []
PostgreSQL 연결을 선택하지 않았다면 앱은 Django 기본 데이터베이스로 시작하지만 PostgreSQL 드라이버는 이미 설치돼 있다. 나중에 연결하려면 위 DATABASES 설정을 settings.py에 넣고 웹 터미널에서 다음 명령을 실행한다. createsuperuser --noinput은 앱을 만들 때 입력한 관리자 사용자 이름·비밀번호·이메일을 사용한다. settings.py의 오타 때문에 앱이 멈추면 파일을 고친 뒤 스택 페이지에서 Restart를 누르면 된다.
pixi run -e web-django python manage.py migrate pixi run -e web-django python manage.py createsuperuser --noinput
기존 코드는 스택 페이지의 Django 카드에서 저장소의 HTTPS 주소를 입력하고 브랜치를 선택해 가져온다. 비공개 저장소라면 액세스 토큰도 추가해야 한다. 코드를 가져오면 앱이 해당 코드로 재시작되며, 이후 Pull로 새 커밋을 가져올 수 있다. Uppcoder는 기존 코드를 수정하지 않으므로 프로젝트에 위 데이터베이스 설정을 추가하고, 의존성에 psycopg를 넣은 뒤 웹 터미널에서 migrate를 한 번 실행해야 한다.
다른 사람에게 앱을 공개하려면 스택 페이지 상단에서 Private을 Public으로 바꾼다. 변경은 재시작 없이 즉시 적용되며 링크를 가진 사람은 앱을 열 수 있다. VS Code, 터미널, 파일은 로그인 뒤에만 계속 접근할 수 있다. 외부 편집기를 선호하면 VS Code Remote, Cursor, JetBrains Gateway 또는 Zed에서 SSH로 연결할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요