Use develop
branches of newsroom-core
and newsroom-app
repositories.
- docker engine - follow instructions at https://docs.docker.com/engine/install/ubuntu
sudo apt install docker-compose
sudo apt install git
sudo apt install python3.10-venv
(may vary depending on python version)sudo apt-get install python3-dev
sudo apt install nodejs
sudo apt install npm
sudo npm install -g n
- use node 14 -
sudo n 14
- navigate to
newsroom-core
npm install
npm link
- navigate to
newsroom-app/client
npm install
npm link newsroom-core
npm start
There are two options, if you only need to develop UI go for A, otherwise B.
- navigate to
newsroom-app
docker-compose up server
docker-compose stop
docker-compose build --no-cache server
- navigate to
newsroom-app
docker-compose up redis mongo elastic
- navigate to
newsroom-app/server
- create .env file with the following contents:
WEBPACK_ASSETS_URL=http://localhost:8080
WEBPACK_SERVER_URL=http://localhost:8080
SECRET_KEY=newsroom
- navigate to
newsroom-app
cd server
- create virtual environment
python3 -m venv env
- activate virtual environment
source env/bin/activate
- install python dependencies -
pip install -Ur requirements.txt
- link local server -
pip install -Ue <path-to-newsroom-core>
- prepare system including elastic
python manage.py initialize_data
- create a user -
python manage.py create_user [email protected] admin John Doe true
python manage.py elastic_init
- start server -
honcho start -p 5050
After fetching latest code run the following commands:
python manage.py data_upgrade
python manage.py schema_migrate || true
It will run database migrations when needed.
- Go to Superdesk settings -> Subscribers -> Add new
- Set "Target Type" to "All"
- Set "Sequence number settings" to 1 and 10.
- Click "Add new destination"
- Set "Format" to "Newsroom NINJS"
- Set "Delivery type" to "HTTP Push"
- Set "Resource URL" to "http://localhost:5050/push"
- Set "Assets URL" to "http://localhost:5050/push_binary"
- Set "Secret token" to "newsroom"
- Save destination
- Save subscriber
- Generate a SSH key if you don't have one already by running
ssh-keygen -t rsa
- Share your public key with colleagues to get an account created on a test server
- Choose an instance you want to connect to and set
MONGO_DBNAME
environment variable innewsroom-app/server/.env
. Example:MONGO_DBNAME=nra-develop
- Start only redis service via docker
docker-compose up redis
- Run the following command in a terminal
ssh -L 9200:data-sd:9201 -L 27017:data-sd:27017 host7.sourcefabric.org
- it will connect to the test server and forward ports of mongo db and elastic search services - start client and server using standard procedures (non-docker)
Prerequisites:
- ensure
client/app.ts
file is present in the root repository. If it's not present, create an empty file. - ensure
client/tsconfig.json
is present in the root repository. If it's not present, copy it fromnewsroom-app
.
To enable extensions open client/app.ts
, import and call registerExtensions
function from newsroom-core
.