All Projects → archlinux → Archweb

archlinux / Archweb

Licence: gpl-2.0
Arch Linux website code

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Archweb

Microsite
Full featured and completely customizable django site for organizations.
Stars: ✭ 75 (-53.42%)
Mutual labels:  django, website
Fosswebsite
A club management system that handles student details, progress, events, achievements, attendance, status updates, teams and workshop registrations. This is the official [email protected] website
Stars: ✭ 242 (+50.31%)
Mutual labels:  django, website
Ascii Generator.site
Django website for generating ASCII-arts out of images or text 🎨
Stars: ✭ 77 (-52.17%)
Mutual labels:  django, website
Site
pythondiscord.com - A Django and Bulma web application.
Stars: ✭ 580 (+260.25%)
Mutual labels:  django, website
Wagtail Torchbox
Wagtail build of Torchbox.com
Stars: ✭ 84 (-47.83%)
Mutual labels:  django, website
Elm Lang.org
Server and client code for the Elm website.
Stars: ✭ 1,923 (+1094.41%)
Mutual labels:  website
Mezzanine Themes
Free Mezzanine CMS themes
Stars: ✭ 160 (-0.62%)
Mutual labels:  django
Django Simple Serializer
serialize django data in a simple way
Stars: ✭ 157 (-2.48%)
Mutual labels:  django
Django Salesman
Headless e-commerce framework for Django.
Stars: ✭ 157 (-2.48%)
Mutual labels:  django
Visual Chatbot
☁️ 👀 💬 Visual Chatbot
Stars: ✭ 161 (+0%)
Mutual labels:  django
Zappa Django Guide
A full featured walkthough of using django on zappa (powered by AWS Lambda in serverless environment)
Stars: ✭ 161 (+0%)
Mutual labels:  django
Maas
Official MAAS repository mirror (may be out of date). Development happens in Launchpad (https://git.launchpad.net/maas/).
Stars: ✭ 160 (-0.62%)
Mutual labels:  django
Django Hordak
Double entry accounting in Django
Stars: ✭ 159 (-1.24%)
Mutual labels:  django
Django Jwt Auth
JSON Web Token Authentication support for Django
Stars: ✭ 160 (-0.62%)
Mutual labels:  django
Zappa
Serverless Python
Stars: ✭ 11,859 (+7265.84%)
Mutual labels:  django
Junction
Junction is a software to manage proposals, reviews, schedule, feedback during conference.
Stars: ✭ 161 (+0%)
Mutual labels:  django
Django Bootstrap Datepicker Plus
Bootstrap3/Bootstrap4 DatePickerInput, TimePickerInput, DateTimePickerInput, MonthPickerInput, YearPickerInput with date-range-picker functionality for django version 2.2, 2.1, 1.11, 1.10 and 1.8
Stars: ✭ 156 (-3.11%)
Mutual labels:  django
Cheatsheets.pdf
📚 Various cheatsheets in PDF
Stars: ✭ 159 (-1.24%)
Mutual labels:  django
Django Auth Tutorial
Source code for Django authentication tutorial.
Stars: ✭ 160 (-0.62%)
Mutual labels:  django
Django Vue Admin
基于RBAC模型权限控制的中小型应用的基础开发平台,前后端分离,后端采用django+django-rest-framework,前端采用vue+ElementUI,移动端采用uniapp+uView(可发布h5和小程序).
Stars: ✭ 157 (-2.48%)
Mutual labels:  django

Archweb README

Build Status

To get a pretty version of this document, run

$ markdown README > README.html

License

See LICENSE file.

Authors

See AUTHORS file.

Dependencies

  • python
  • rsync (optional for mirrorcheck with rsync mirrors)

Python dependencies

More detail in requirements.txt and requirements_prod.txt; it is best to use virtualenv and pip to handle these. But if you insist on (Arch Linux) packages, you will probably want the following:

  • python-django
  • python-psycopg2
  • python-markdown
  • python-memcached

Testing Installation

  1. Run python -m venv env.

     cd /path/to/archweb && python -m venv ./env/
    
  2. Activate the virtualenv.

     source ./env/bin/activate
    
  3. Install dependencies through pip.

     pip install -r requirements.txt
    
  4. Copy local_settings.py.example to local_settings.py and modify. Make sure to uncomment the appropriate database section (either sqlite or PostgreSQL).

  5. Migrate changes.

     ./manage.py migrate
    
  6. Load the fixtures to pre populate some data. If you don't want some of the provided data, adjust the file glob accordingly.

     ./manage.py loaddata main/fixtures/*.json
     ./manage.py loaddata devel/fixtures/*.json
     ./manage.py loaddata mirrors/fixtures/*.json
     ./manage.py loaddata releng/fixtures/*.json
    
  7. Use the following commands to start a service instance

     ./manage.py runserver
    
  8. To optionally populate the database with real data:

     wget http://mirrors.kernel.org/archlinux/core/os/x86_64/core.db.tar.gz
     ./manage.py reporead x86_64 core.db.tar.gz
     # Package file listing
     wget http://mirrors.kernel.org/archlinux/core/os/x86_64/core.files.tar.gz
     ./manage.py reporead --filesonly x86_64 core.files.tar.gz
    

Alter architecture and repo to get x86_64 and packages from other repos if needed.

  1. Database Updates for Added/Removed packages

     sqlite3 archweb.db < packages/sql/update.sqlite3.sql
    

For PostgreSQL use packages/sql/update.postgresql_psycopg2.sql

Testing SMTP server

To be able to create an account on your test environment an SMTP server is required. A simple debugging SMTP server can be setup using Python.

    python -m smtpd -n -c DebuggingServer localhost:1025

In local_settings.py add entries to set EMAIL_HOST to 'localhost' and EMAIL_PORT to 1025.

Running tests and coverage

To the unittests execute the following commands:

    ./manage.py collectstatic --noinput
    ./manage.py test

Running coverage:

    pip install coverage
    coverage run --omit='env*' --source='.' manage.py test
    coverage report

Django Debug toolbar

To use the Django Debug toolbar install django-debug-toolbar and in local_settings.py set DEBUG_TOOLBAR to True.

Management commands

Archweb provides multiple management commands for importing various sorts of data. An overview of commands:

  • generate_keyring - Assemble a GPG keyring with all known developer keys.
  • pgp_import - Import keys and signatures from a given GPG keyring.
  • read_rebuilderd_status - Import rebuilderd status into Archweb.
  • rematch_developers - Rematch flag requests and packages where user_id/packager_id is NULL to a Developer.
  • reporead - Parses a repo.db.tar.gz, repo.files.tar.gz file and updates the Arch database with the relevant changes.
  • reporead_inotify - Watches a templated patch for updates of *.files.tar.gz to update Arch databases with.
  • donor_import - Import a single donator from a mail passed to stdin
  • mirrorcheck - Poll every active mirror URLs to store the lastsnyc time and record network timing details.
  • mirrorresolv - Poll every active mirror URLs and determine wheteher they have IP4 and/or IPv6 addresses.
  • populate_signoffs - retrieves the latest commit message of a signoff-eligible package.
  • update_planet - Import all feeds for users who have a valid website and website_rss in their user profile.

Updating iPXE image

The netboot image can be updated by building the AUR package (note that it builds from git master) and copying the resulting ipxe.pxe, ipxe.lkrn and ipxe.efi to sitestatic/netboot. Then as Arch Linux Developer sign them with your PGP key gpg --output ipxe.efi.sig --detach-sig ipxe.efi.

Testing a build iPXE image requires the 'qemu' package and running the following command:

    qemu-system-x86_64 -kernel ipxe.lkrn -m 2G

Production Installation

Arch Linux has an Ansible role for Archweb in their infrastructure repo.

vim: set syntax=markdown et:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].