🎯 Goal

This section shows how to run the service locally and walk through a basic flow: landing creation → deployment → verification.

🧰 Prerequisites

  • Python 3.10.12 (Poetry‑managed dependencies)
  • PostgreSQL
  • Redis
  • SFTP access to domains (host/port/user/password)
  • (optional) S3‑compatible storage for media

🐳 Local run with Docker Compose

The project contains docker-compose.yml, which starts:

  • web (Django + Gunicorn)
  • celery (worker + beat)
  • link-generator-db (PostgreSQL)
  • redis

▶️ 1) Start the stack

docker compose up --build

After startup:

  • Web: http://localhost:8002/
  • Admin: http://localhost:8002/admin/

👤 2) Create a superuser

docker compose exec web poetry run python manage.py createsuperuser

docker-compose.yml already contains environment variables.
For a real environment, use your own values and secrets.

🐍 Run without Docker (Poetry)

1) Install dependencies

poetry install

2) Environment variables

At minimum you need DB/Redis settings and Django config.
Full list: Environment variables.

3) Migrations and superuser

poetry run python manage.py migrate
poetry run python manage.py createsuperuser

4) Run the web app

poetry run python manage.py runserver 0.0.0.0:8000

5) Run Celery

poetry run celery -A config worker --loglevel=info -B

✅ Quick check

  1. Create a Domain (domain + SFTP access)
  2. Create Template, ButtonsContainer, CodeSnippet, ServiceWorker
  3. Create Landing, select domains and a route
  4. Click Deploy
  5. Check Deployments and open links from Landing links

0 items under this folder.