Code Monkey home page Code Monkey logo

code.djangoproject.com's Introduction

Configuration for Django's Trac instance (code.djangoproject.com)

Local install

Getting a local Trac install running is a bit tricky. Here are a few tricks that can help:

  • Follow the installation instructions in djangoproject/README.rst (especially the database creation).
  • Use trac-admin ./trac-env/ permission add anonymous TRAC_ADMIN to give all permissions to the anonymous user.
  • Use the command tracd --port 9000 -s trac-env to serve Trac locally.
  • If you've modified the trackhack.scss file, use sassc scss/trachacks.scss trac-env/htdocs/css/trachacks.css -s compressed to compile it to CSS.

Using Docker

  • Install Docker
  • pip install docker-compose
  • docker-compose up --build
  • Follow instructions above to create/load the DB, grant permissions, create the config, etc. For example:

    docker-compose up --build
    export DATABASE_URL=postgres://code.djangoproject:secret@db/code.djangoproject
    docker-compose exec -T db psql $DATABASE_URL < ../djangoproject.com/tracdb/trac.sql
    docker-compose exec trac /venv/bin/trac-admin /code/trac-env/ permission add anonymous TRAC_ADMIN

Using Podman

It may be possible to use Podman for local development to more closely simulate production. The above Docker instructions should work for Podman as well, however, be aware that podman-compose is not as well battle-tested as docker-compose (e.g., it may require pruning or forcefully stopping a container before it will rebuild properly).

How to port the CSS from djangoproject.com

Assumes that code.djangoproject.com and djangoproject.com are stored in the same directory (adjust paths if needed).

  1. Copy the generated CSS: cp ../djangoproject.com/static/css/*.css trac-env/htdocs/css/
  2. Copy _utils.scss (needed by trackahacks.scss): cp ../djangoproject.com/static/scss/_utils.scss scss/
  3. Copy the javascript directory: cp -rT ../djangoproject.com/static/js trac-env/htdocs/js
  4. Compile trackhacks.scss: make compile-scss

How to recreate trac.sql after upgrading Trac

Start with a clean slate:

docker-compose down
sh -c 'cd ../djangoproject.com && git checkout tracdb/trac.sql'

Bring up database and Trac via docker-compose:

docker-compose up --build -d
export DATABASE_URL=postgres://code.djangoproject:secret@db/code.djangoproject
docker-compose exec -T db psql $DATABASE_URL < ../djangoproject.com/tracdb/trac.sql
docker-compose exec trac /venv/bin/trac-admin /code/trac-env/ upgrade
docker-compose exec db pg_dump --column-inserts -d $DATABASE_URL > ../djangoproject.com/tracdb/trac.sql

Note:

  • There's no need to run the trac-admin ... wiki upgrade command
  • Be careful with changes that trac-admin ... upgrade makes to trac.ini. We usually don't want them.
  • Review the diff carefully to make sure no unexpected database changes are inadvertently included.

code.djangoproject.com's People

Contributors

aaugustin avatar adamzap avatar apollo13 avatar bmispelon avatar carltongibson avatar dependabot[bot] avatar felixxm avatar gabejackson avatar jacobian avatar jacobtylerwalls avatar jezdez avatar jphalip avatar markush avatar mayoroftuesday avatar mxsasha avatar olasitarska avatar prestontimmons avatar skyjur avatar timgraham avatar tobiasmcnulty avatar treyhunner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.