Add dev environment: debug subdomain, IP restriction, separate container
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

- Add debug.killmybacklog.com nginx config (IP-restricted to 164.215.8.152)
- Add django-dev container on port 8081 in docker-compose
- Add dev branch pipeline step deploying to django-dev
- Add killmybacklog.com and debug subdomain to ALLOWED_HOSTS/CSRF origins

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-31 22:09:53 +03:00
parent 8f0667d160
commit e119e79751
3 changed files with 53 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
when: when:
branch: main
event: [push, manual] event: [push, manual]
branch: [main, dev]
steps: steps:
test: test:
@@ -10,7 +10,6 @@ steps:
- python manage.py test backlogger --verbosity=2 - python manage.py test backlogger --verbosity=2
environment: environment:
DJANGO_SECRET_KEY: ci-test-key DJANGO_SECRET_KEY: ci-test-key
DATABASE_URL: sqlite:///tmp/test.db
build-and-deploy: build-and-deploy:
image: docker:cli image: docker:cli
@@ -23,3 +22,19 @@ steps:
- docker build -t k-boris-website /opt/services/app/ - docker build -t k-boris-website /opt/services/app/
- docker compose -f /opt/services/docker-compose.yml up -d --no-deps django - docker compose -f /opt/services/docker-compose.yml up -d --no-deps django
depends_on: [test] depends_on: [test]
when:
branch: main
build-and-deploy-dev:
image: docker:cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/services:/opt/services
commands:
- mkdir -p /opt/services/app-dev
- cp -r . /opt/services/app-dev/
- docker build -t k-boris-website-dev /opt/services/app-dev/
- docker compose -f /opt/services/docker-compose.yml up -d --no-deps django-dev
depends_on: [test]
when:
branch: dev

View File

@@ -12,6 +12,7 @@ ALLOWED_HOSTS = [
'admin.k-boris.tech', 'admin.k-boris.tech',
'killmybacklog.com', 'killmybacklog.com',
'www.killmybacklog.com', 'www.killmybacklog.com',
'debug.killmybacklog.com',
'localhost', 'localhost',
'127.0.0.1', '127.0.0.1',
] ]
@@ -22,6 +23,7 @@ CSRF_TRUSTED_ORIGINS = [
'https://admin.k-boris.tech', 'https://admin.k-boris.tech',
'https://killmybacklog.com', 'https://killmybacklog.com',
'https://www.killmybacklog.com', 'https://www.killmybacklog.com',
'https://debug.killmybacklog.com',
] ]
INSTALLED_APPS = [ INSTALLED_APPS = [

View File

@@ -0,0 +1,34 @@
server {
listen 80;
listen [::]:80;
server_name debug.killmybacklog.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name debug.killmybacklog.com;
ssl_certificate /etc/letsencrypt/live/debug.killmybacklog.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/debug.killmybacklog.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
client_max_body_size 10m;
allow 164.215.8.152;
deny all;
location = / {
return 301 /backlogger/;
}
location / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}