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
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
- 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.

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