docker-compose.yml
и добавляем следующее содержимое:version: '3.2'
services:
postgres:
image: postgres
restart: always
container_name: postgres
environment:
POSTGRES_DB: passit
POSTGRES_USER: passit
POSTGRES_PASSWORD: **your-password**
PGDATA: /var/lib/postgresql/data/
volumes:
- /var/lib/postgresql/data:/var/lib/postgresql/data
passit-app:
image: passit/passit:stable
restart: always
container_name: passit-app
command: bin/start.sh
environment:
DATABASE_URL: postgres://passit:your-password@postgres:5432/passit
SECRET_KEY: **your-password**
IS_DEBUG: 'False'
EMAIL_URL: smtp+tls://login:password@server-email:587
DEFAULT_FROM_EMAIL: "your-email"
EMAIL_CONFIRMATION_HOST: "your-domain"
nginx:
container_name: nginx
restart: always
image: nginx
ports:
- 80:80
- 443:443
volumes:
- /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- /etc/letsencrypt/live/your-domain/fullchain.pem:/etc/letsencrypt/live/your-domain/fullchain.pem
- /etc/letsencrypt/live/your-domain/privkey.pem:/etc/letsencrypt/live/your-domain/privkey.pem
✏️ Параметры для замены:
- your-password — установите свой пароль для базы данных и других секретов.
- your-domain — укажите домен, под которым будет доступно приложение.
- login:password@server-email — параметры для SMTP-сервера.
nginx
В файл default.conf
из директории /etc/nginx/conf.d/
добавьте следующее содержимое:
server {
listen 80;
server_name your-domain;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your-domain;
ssl_certificate /etc/letsencrypt/live/your-domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain/privkey.pem;
location / {
proxy_pass http://passit-app:8080;
proxy_set_header Host $host;
}
}
✏️ Не забудьте заменить
your-domain
на ваш фактический домен, который используется для приложения Passit.
После того как контейнеры запущены, выполните миграцию базы данных для приложения:
docker-compose run --rm passit-app ./manage.py migrate
✨ Теперь ваше приложение Passit готово к использованию!