32 lines
907 B
Bash
Executable File
32 lines
907 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
mkdir -p /opt/stack /srv/pypi/web
|
|
|
|
virtualenv /opt/stack/bandersnatch
|
|
/opt/stack/bandersnatch/bin/pip install bandersnatch
|
|
ln -s /opt/stack/bandersnatch/bin/bandersnatch /usr/local/bin/bandersnatch
|
|
register-state-path --leave-symlink /srv/pypi/web
|
|
|
|
# Run bandersnatch once to create a config file
|
|
/usr/local/bin/bandersnatch mirror || true
|
|
|
|
# Run bandersnatch every hour
|
|
echo "0 * * * * root flock -n /var/run/bandersnatch -c \"/usr/local/bin/bandersnatch mirror >> /var/log/bandersnatch 2>&1\"" > /etc/cron.d/bandersnatch
|
|
chmod 755 /etc/cron.d/bandersnatch
|
|
|
|
HTTPDCONFFILE=/etc/httpd/conf.d/bandersnatch.conf
|
|
if [ -d /etc/apache2/sites-enabled ]; then
|
|
HTTPDCONFFILE=/etc/apache2/sites-enabled/bandersnatch.conf
|
|
fi
|
|
|
|
cat > $HTTPDCONFFILE<<'EOF'
|
|
Alias /pypi /srv/pypi/web
|
|
<Directory "/srv/pypi/web">
|
|
Options Indexes
|
|
AllowOverride None
|
|
Require all granted
|
|
</Directory>
|
|
EOF
|