Создание коротких ссылок с помощью Django и GraphQL
- Клонировать репозиторий или форк
git clone https://github.com/alfir777/url_shorter.git
- Выполнить копирование файла .env_template на .env и выставить свои параметры
cd jatu_ru/
cp .env_template .env
- В Dockerfile заменить app на Вашего пользователя и его UID/GID
- Создать acme.json для traefik и дать права
touch acme.json
chmod 600 acme.json
- Развернуть контейнеры с помощью в docker-compose
docker-compose -f docker-compose.yml up -d
- Выполнить миграции/сбор статики
docker exec -it web python3 manage.py makemigrations
docker exec -it web python3 manage.py migrate
docker exec -it web python3 manage.py collectstatic
- Создать суперпользователя
docker exec -it web python3 manage.py createsuperuser
Возможны проблемы с правами на папки, созданными docker/django
- Изменить права доступа для директорий на 755 (drwxr-xr-x)
find /path/to/target/dir -type d -exec chmod 755 {} \;
- Изменить права доступа для файлов на 644 (-rw-r--r--)
find /path/to/target/dir -type f -exec chmod 644 {} \;
- Не всегда выполняются все миграции, принудительно:
docker exec -it web python3 manage.py migrate --run-syncdb
query {
urls {
id
fullUrl
shortUrl
clicks
createdAt
}
}
query {
urls(url:"google") {
id
fullUrl
shortUrl
clicks
createdAt
}
query {
urls(first: 15, skip: 3) {
id
fullUrl
shortUrl
clicks
createdAt
}
}
mutation {
createUrl(fullUrl:"https://google.com") {
url {
id
fullUrl
shortUrl
clicks
createdAt
}
}
}