add release docker-compose and readme.

This commit is contained in:
Peter Buchegger 2022-02-04 21:26:09 +01:00
parent da0178119c
commit 26fc5b1fd9
2 changed files with 94 additions and 0 deletions

View File

@ -252,6 +252,35 @@ Crontab example
### Server Requirements ### Server Requirements
How powerful server you need depends on what type of data source you are going to use. If you, for example, receive data from the APRS-IS network, you will probably need at least a server with 4 CPUs and 8 GB of RAM, but I recommend using a server with 8 CPUs and 16 GB of RAM. How powerful server you need depends on what type of data source you are going to use. If you, for example, receive data from the APRS-IS network, you will probably need at least a server with 4 CPUs and 8 GB of RAM, but I recommend using a server with 8 CPUs and 16 GB of RAM.
## Getting Started - Docker
There is everything prepared to run trackdirect inside of some docker containers. As there is a Docker-Compose file the setup is very simple and fast.
### Install Docker and Docker-Compose
Install [docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) from the published websites.
### Config file
Adopt your config in `config/aprsc.conf` and `config/trackdirect.ini`.
### Run Docker-Compose for development containers
To startup trackdirect in an development container run this docker-compose command:
```
docker-compose up
```
If you want to run the container in daemon mode add `-d` to the command.
### Run Docker-Compose for the last published docker images
@peterus is creating regular docker images from this repository. With the release Docker-Compose file you do not need to install and compile everything by your own.
```
docker-compose -f docker-compose-rel.yml up
```
## TODO ## TODO
- Rewrite backend to use Python 3 instead of Python 2. - Rewrite backend to use Python 3 instead of Python 2.
- Create a REST-API and replace the current website example with a new frontend written in Angular. - Create a REST-API and replace the current website example with a new frontend written in Angular.

65
docker-compose-rel.yml Normal file
View File

@ -0,0 +1,65 @@
version: "3.9"
services:
aprsc:
image: peterus/aprsc:latest
restart: always
ports:
- "10152:10152"
- "14580:14580"
- "10155:10155"
- "14501:14501"
volumes:
- $PWD/config/aprsc.conf:/opt/aprsc/etc/aprsc.conf
collector:
image: peterus/trackdirect-python2:latest
restart: always
volumes:
- $PWD/config/trackdirect.ini:/root/trackdirect/config/trackdirect.ini
command: /root/trackdirect/server/scripts/collector.sh trackdirect.ini 0
depends_on:
- "db"
- "aprsc"
websocket:
image: peterus/trackdirect-python2:latest
restart: always
volumes:
- $PWD/config/trackdirect.ini:/root/trackdirect/config/trackdirect.ini
command: /root/trackdirect/server/scripts/wsserver.sh trackdirect.ini
ports:
- "9000:9000"
depends_on:
- "db"
- "aprsc"
heatmaps:
image: peterus/trackdirect-python2:latest
restart: always
volumes:
- $PWD/config/trackdirect.ini:/root/trackdirect/config/trackdirect.ini
- $PWD/heatmaps:/root/trackdirect/htdocs/public/heatmaps
command: /root/trackdirect/server/scripts/heatmapcreator.sh trackdirect.ini /root/trackdirect/htdocs/public/heatmaps
depends_on:
- "db"
web:
image: peterus/trackdirect-apache:latest
restart: always
volumes:
- $PWD/config/trackdirect.ini:/root/trackdirect/config/trackdirect.ini
- $PWD/heatmaps:/root/trackdirect/htdocs/public/heatmaps
ports:
- "80:80"
depends_on:
- "db"
db:
image: peterus/trackdirect-db:latest
restart: always
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: foobar
POSTGRES_DB: trackdirect
volumes:
- $PWD/db:/var/lib/postgresql/data