[Unit] Description=ThrillWiki Django Application After=network.target postgresql.service Wants=network.target Requires=postgresql.service [Service] Type=forking User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/thrillwiki ExecStart=/home/ubuntu/thrillwiki/scripts/ci-start.sh ExecStop=/bin/kill -TERM $MAINPID ExecReload=/bin/kill -HUP $MAINPID PIDFile=/home/ubuntu/thrillwiki/logs/django.pid Restart=always RestartSec=10 # Environment variables Environment=DJANGO_SETTINGS_MODULE=thrillwiki.settings Environment=PYTHONPATH=/home/ubuntu/thrillwiki Environment=PATH=/home/ubuntu/.cargo/bin:/usr/local/bin:/usr/bin:/bin # Security settings NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ProtectHome=true ReadWritePaths=/home/ubuntu/thrillwiki/logs ReadWritePaths=/home/ubuntu/thrillwiki/media ReadWritePaths=/home/ubuntu/thrillwiki/staticfiles ReadWritePaths=/home/ubuntu/thrillwiki/uploads # Resource limits LimitNOFILE=65536 TimeoutStartSec=300 TimeoutStopSec=30 # Logging StandardOutput=journal StandardError=journal SyslogIdentifier=thrillwiki [Install] WantedBy=multi-user.target