Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openfluid/openfluid-fluidhub
FluidHub services
https://github.com/openfluid/openfluid-fluidhub
api flask git python services
Last synced: about 1 month ago
JSON representation
FluidHub services
- Host: GitHub
- URL: https://github.com/openfluid/openfluid-fluidhub
- Owner: OpenFLUID
- License: other
- Created: 2017-09-29T11:42:34.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2017-10-18T13:18:05.000Z (over 7 years ago)
- Last Synced: 2024-11-08T13:09:44.941Z (3 months ago)
- Topics: api, flask, git, python, services
- Language: Python
- Homepage:
- Size: 608 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overview
Software infrastructure for OpenFLUID FluidHub services, based on Docker containers managed by docker-compose
# Requirements
* docker (>= 17.06)
* docker-compose# Production mode
## Initialize
The initialization consists in creating the data directory with the minimal required structure.
It also creates a default `admin` user with password `admin`. It is really encouraged to change this password immediately.From the root of the source tree, use the `prod-init` wrapper script, with the path of the directory to initialize as an argument:
```
./prod-init /path/to/data
```
**YOU ARE REALLY ENCOURAGED TO CHANGE THE DEFAULT SECRET VALUE IN the `common/local.conf` FILE LOCATED IN YOUR DATA DIRECTORY**## Build
The build will produced the corresponding Docker image. It should be performed once for all before launching the services.
From the root of the source tree, use the `prod-server` wrapper script (recommended):
```
FLUIDHUB_DATAPATH=/path/to/data ./prod-server build
```You can also use the docker-compose command directly:
```
FLUIDHUB_DATAPATH=/path/to/data docker-compose -f docker/docker-compose.yml build
```## Launch services
The run will launch the services.
From the root of the source tree, use the `prod-server` wrapper script (recommended):
```
FLUIDHUB_DATAPATH=/path/to/data ./prod-server up
```You can also use the docker-compose command directly:
```
FLUIDHUB_DATAPATH=/path/to/data docker-compose -f docker/docker-compose.yml up
```The only username available at first launch is the Adminsitrator with username `admin` and password `admin`.
**YOU ARE REALLY ENCOURAGED TO CHANGE THE `admin` PASSWORD AT FIRST LAUNCH**## Deploy through frontend
By default, the FluidHub services runs in HTTP on port 3447 of a Docker container.
You have to configure an http server in HTTPs mode, such as Apache or Nginx, to redirect the incoming HTTPs stream to this HTTP port.# Development mode
The source tree is organized as below:
```
/fluidhub
/app -> main application source code
/FluidHub -> FluidHub package containing common modules
/resources -> various ressources
/tests -> tests source code and resources
/docker -> configurations for Docker containers and docker-compose
```## Initialize
The initialization consists in creating the data directory with the minimal required structure withinin the `_dev` subdirectory.
It also creates a default `admin` user with password `admin`.From the root of the source tree, use the `dev-init` wrapper script:
```
./dev-init
```## Launch services
The run will launch the services currently under development.
From the root of the source tree, use the `dev-server` wrapper script (recommended), the `FLUIDHUB_DATAPATH` environment variable is automatically set:
```
./dev-server up
```You can also use the docker-compose command directly:
```
FLUIDHUB_DATAPATH=./_dev/server/data docker-compose -f docker/docker-compose.yml -f docker/docker-compose-dev.yml up
```## Run tests
Run the [nosetests](http://nose.readthedocs.io) tool from the root of the source tree, using the `dev-runtests` wrapper script:
```
./dev-runtests nosetests
```
For a more detailed execution of tests, you can add verbosity and stdout options:
```
./dev-runtests nosetests --verbosity=3 -s
```# External resources
* http://flask.pocoo.org/docs/0.12/
* https://flask-httpauth.readthedocs.io/en/latest/
* https://code-maven.com/deploying-python-flask-using-uwsgi-on-ubuntu-14-04
* http://stewartjpark.com/2015/01/02/implementing-a-git-http-server-in-python.html
* https://pyjwt.readthedocs.io/en/latest/
* https://www.sqlalchemy.org/
* http://nose.readthedocs.io/en/latest/index.html