Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/UKHomeOffice/docker-landscaper-server
Docker landscape server container
https://github.com/UKHomeOffice/docker-landscaper-server
Last synced: 15 days ago
JSON representation
Docker landscape server container
- Host: GitHub
- URL: https://github.com/UKHomeOffice/docker-landscaper-server
- Owner: UKHomeOffice
- License: mit
- Created: 2015-10-01T14:12:19.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-05T17:32:01.000Z (about 8 years ago)
- Last Synced: 2024-07-31T14:10:17.308Z (4 months ago)
- Language: Shell
- Size: 155 KB
- Stars: 14
- Watchers: 26
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
README
# Ubuntu LandScape Docker Container
[![Build Status](https://travis-ci.org/UKHomeOffice/docker-landscape-server.svg?branch=master)](https://travis-ci.org/UKHomeOffice/docker-landscape-server)
This container runs the Ubuntu landscape server components
#Requirements
- Landscape requires a postgres 9.3/9.4 server with plpython and the debversion modules installed
- A rabbitmq server is also required as the message bus between the various components#TLS
There is a placeholer certificate in the files/certs directory which gets added to the container and used by apache for the SSL endpoint.
This has a common name of 'landscape-server'.
This should be replaced with a valid certificate and key#Running locally
There is a docker compose file which will bring up a landscape server,
this will bring up the landscape server on port 80/443 on your docker host
```
docker-compose build
docker-compose up
```It does the following:
## Postgres database server
Create a postgres container based off of the official 9.4 version with plpython and debversion installed```
docker build -t postgres .
docker run -d --name postgres -e POSTGRES_PASSWORD=password postgres
```## Rabbitmq server
Create a rabbitmq container that will be linked in, which has the management module enables so you can
access it via a web console```
docker run -d --name rabbitmq -p 15672:15672 rabbitmq:3-management
```## Landscape container creation
Then it build the landscape container, this container is based on ubuntu:14.04, this will link the postgres container into the landscape container and use that, if you have an external postgres instance you would just set the variables that are required```
docker build -t landscape-server
docker run -d --link postgres:postgres --link rabbitmq:rabbitmq -e INITIALIZE_SCHEMA=yes -e DB_USER=postgres -e DB_PASS=password -e DB_LANDSCAPE_PASS=password -p 80:80 -p 443:443 landscape-server
```### Valid commands for the landscape container
- app:schema - This will create the landscape user and schema but not start the application
- app:start - This starts the application, this is also the default action#Variables that can be set
| Variable | Default | Usage |
| -------------------- | --------- | ------ |
| STARTUP_WAIT_TIME | empty | Wait number of seconds before starting process, useful for waiting for other services to come up |
| INITIALIZE_SCHEMA | empty | If set this will create the database schema or confirm it is valid |
| DB_HOST | empty | The postgres server hostname |
| DB_PORT | 5432 | The postgres server port |
| DB_LANDSCAPE_PASS | password | The landscape user password |
| DB_USER | landscape | The postgres super user, this user is used for schema creation|
| DB_PASS | landscape | The postgres super user password |
| DB_NAME | postgres | The default database name for testing connectivity |
| RMQ_HOST | empty | The rabbitmq server hostname |
| RMQ_PORT | 5672 | The rabbitmq server amqp port |
| RMQ_USER | guest | The rabbitmq user |
| RMQ_PASS | guest | The rabbitmq password |
| RMQ_VHOST | default | The vhost to be used by the message broker |