🎯 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 --buildAfter 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.ymlalready contains environment variables.
For a real environment, use your own values and secrets.
🐍 Run without Docker (Poetry)
1) Install dependencies
poetry install2) 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 createsuperuser4) Run the web app
poetry run python manage.py runserver 0.0.0.0:80005) Run Celery
poetry run celery -A config worker --loglevel=info -B✅ Quick check
- Create a Domain (domain + SFTP access)
- Create Template, ButtonsContainer, CodeSnippet, ServiceWorker
- Create Landing, select domains and a route
- Click Deploy
- Check Deployments and open links from Landing links