https://github.com/actris-cloudnet/dev-toolkit
Docker-based development environment
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Repository
Docker-based development environment
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Cloudnet development toolkit
Docker configuration for running all Cloudnet projects locally.
The toolkit requires Docker version ≥ 20 and Docker Compose version ≥ 2.2.
Setup
First create a directory for all repositories and clone this repository there:
shell
mkdir cloudnet
cd cloudnet
git clone git@github.com:actris-cloudnet/dev-toolkit.git
Then run fetch-repos.sh to fetch other repositories:
shell
cd dev-toolkit
./fetch-repos.sh
You can later pull the latest changes by running fetch-repos.sh again.
Build
First, make sure that you have Docker installed. After that:
shell
mkdir -p db/data
docker compose build
The first run will take a long time. Subsequent runs are faster.
Then, configure data portal environment variables:
shell
cp ../dataportal/backend/dev.env.template ../dataportal/backend/dev.env
To enable DOI minting, You need to the update your dev.env with correct credentials.
Then, install Node dependencies to your host system:
shell
docker compose run --rm dataportal-backend npm install
docker compose run --rm dataportal-frontend npm install
docker compose run --rm dataportal-frontend sh -c 'cd /shared && npm install'
docker compose run --rm storage-service npm install
To destroy existing containers, and build & install the project from the scratch, you can issue:
shell
./clean-install.sh
Unlock encrypted files (only internal developers)
Unlock encrypted pid-service test credentials:
shell
cd pid-service/
git-crypt unlock
Run
The system can be run in either local or remote mode. In remote mode storage-service will use production S3,
and processing is disabled (data access is read only).
Local mode
To start the system in local mode, issue:
shell
docker compose up
or
shell
./start.sh local
start.sh is a small wrapper around docker compose.
If you are starting the system in local mode for the first time, you may need to populate the dataportal database.
Remote mode (only internal developers)
First, make sure that you have cloned the secrets repository from actris-cloudnet and unlocked them using git-crypt unlock.
To start the system in remote mode, issue:
shell
./populate-db-recent.sh # Download remote dbs
./start.sh remote # Start in remote mode, you will be asked for your GPG password
After the local postgres instance has been populated, it is enough to issue ./start.sh remote to start the system in remote mode.
Stop
Stop containers by pressing Ctrl+C.
Destroy containers by running:
shell
docker compose down
Additional scripts
./populate-db-recent.sh: Download recent data from remote DB../populate-db-full.sh: Download remote DB. Uses a cached DB file if such exists. To force re-download use-u.
For instructions on how to populate the development DB with test fixtures, see here.
Accessing database
It's recommended to install pgcli for interactive use.
After installation, run the following command to access dataportal database:
sh
./connect-to-database.sh dataportal
To access storage-service database, run:
sh
./connect-to-database.sh ss
In some cases, you might want to connect straight to the database. Then use the following commands:
sh
docker compose exec db psql dataportal
docker compose exec db psql ss
Exposed ports
The following ports are exposed from the containers to localhost:
8080Development frontend3000Development backend3001Test backend3005Citation service5800PID service5900Storage service54321PostgreSQL8086InfluxDB (username:admin, password:password)5921Storage service mock (for tests)
License
MIT
Owner
- Name: ACTRIS Cloudnet
- Login: actris-cloudnet
- Kind: organization
- Email: actris-cloudnet@fmi.fi
- Location: Helsinki, Finland
- Website: https://cloudnet.fmi.fi/
- Twitter: ACTRIS_Cloudnet
- Repositories: 12
- Profile: https://github.com/actris-cloudnet
ACTRIS Cloud Remote Sensing Unit (CLU)
GitHub Events
Total
- Push event: 8
Last Year
- Push event: 8
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 0
- Total pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- tukiains (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- dataportal-backend latest
- influxdb 2.3.0
- motoserver/moto 3.0.1
- postgres 13