Skip to content

Instantly share code, notes, and snippets.

@nickdbush
Last active Feb 12, 2022
Embed
What would you like to do?
Superdesk Docker install instructions

How to install Superdesk using Docker

  1. Install Docker
  2. Copy and paste docker-compose.yml in this gist into a blank folder (call it something like superdesk/)
  3. Open the folder in a terminal
  4. Run docker-compose up
  5. Wait a few seconds...
  6. Navigate to localhost:8080

You should see the Superdesk login screen! Now to initialise some data:

  1. Open a new terminal in the same folder
  2. Run docker-compose run superdesk-server run python manage.py app:initialize_data to populate Superdesk with some starting data.
  3. Run docker-compose run superdesk-server run python manage.py users:create -u admin -p admin -e admin@localhost --admin to create an example administrator.
version: "3"
services:
mongo:
image: mongo:3
expose:
- "27017"
redis:
image: redis:3
expose:
- "6379"
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3
environment:
- xpack.security.enabled=false
- discovery.type=single-node
expose:
- "9200"
- "9300"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
superdesk-server:
image: nickdbush/superdesk-server:2.0
container_name: superdesk-server
depends_on:
- redis
- mongo
- elastic
environment:
- WEB_CONCURRENCY=2
- SUPERDESK_CLIENT_URL=http://localhost:8080
- GRAMMALECTE_URL=http://grammalecte:9999
- MONGO_URI=mongodb://mongo/test
- PUBLICAPI_MONGO_URI=mongodb://mongo/test_pa
- LEGAL_ARCHIVE_URI=mongodb://mongo/test_la
- ARCHIVED_URI=mongodb://mongo/test_ar
- ELASTICSEARCH_URL=http://elastic:9200
- ELASTICSEARCH_INDEX=superdesk
- CELERY_BROKER_URL=redis://redis:6379/1
- REDIS_URL=redis://redis:6379/1
- AMAZON_ACCESS_KEY_ID
- AMAZON_CONTAINER_NAME
- AMAZON_REGION
- AMAZON_SECRET_ACCESS_KEY
- REUTERS_USERNAME
- REUTERS_PASSWORD
# - MAIL_SERVER=example.com
# - MAIL_PORT=25
# - MAIL_USE_TLS=false
# - MAIL_USE_SSL=false
# - MAIL_USERNAME=user
# - MAIL_PASSWORD=pwd
- SENTRY_DSN
- SECRET_KEY
- CONTENTAPI_URL=http://localhost:8080/capi
- CONTENTAPI_MONGO_URI=mongodb://mongo/test_ca
superdesk-client:
image: nickdbush/superdesk-client:2.0
container_name: superdesk
environment:
- SUPERDESK_URL=http://localhost:8080/api
- SUPERDESK_WS_URL=ws://localhost:8080/ws
- VIEW_DATE_FORMAT
- VIEW_TIME_FORMAT
- IFRAMELY_KEY
depends_on:
- superdesk-server
ports:
- "8080:80"
@oguruma1218
Copy link

oguruma1218 commented Feb 20, 2021

Hi @oguruma1218, can you open DevTools and see if there are any errors logged to the javascript console? Sounds like it could be a problem loading the client application.

Also, it's worth noting that there are now official containers released, so you'll want to update your docker-compose file to sourcefabricoss/superdesk-server:latest and sourcefabricoss/superdesk-client:latest (you can find the containers in the sourcefabricoss user).

It does look like I am getting console errors, specifically, connection refused. Digging through the .yaml file, I'm assuming the webserver is just configured to listen on 127.0.0.1?

@DanicoSantos
Copy link

DanicoSantos commented Jul 8, 2021

Hi @oguruma1218, can you open DevTools and see if there are any errors logged to the javascript console? Sounds like it could be a problem loading the client application.
Also, it's worth noting that there are now official containers released, so you'll want to update your docker-compose file to sourcefabricoss/superdesk-server:latest and sourcefabricoss/superdesk-client:latest (you can find the containers in the sourcefabricoss user).

It does look like I am getting console errors, specifically, connection refused. Digging through the .yaml file, I'm assuming the webserver is just configured to listen on 127.0.0.1?

You should change localhost to your hostname on the docker-compose.yml file

@nerocil
Copy link

nerocil commented Sep 22, 2021

Hi @oguruma1218, can you open DevTools and see if there are any errors logged to the javascript console? Sounds like it could be a problem loading the client application.
Also, it's worth noting that there are now official containers released, so you'll want to update your docker-compose file to sourcefabricoss/superdesk-server:latest and sourcefabricoss/superdesk-client:latest (you can find the containers in the sourcefabricoss user).

It does look like I am getting console errors, specifically, connection refused. Digging through the .yaml file, I'm assuming the webserver is just configured to listen on 127.0.0.1?

You should change localhost to your hostname on the docker-compose.yml file

Thank you I had similar problem after change to localhost to server IP its works

@ciclanoio
Copy link

ciclanoio commented Feb 12, 2022

exactly @nerocil , in my case I was testing with Digital Ocean, and I had the same problem. With your tip, I removed from localhost to the server's external IP and that's it. The login page opened correctly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment