Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0 devel #6

Open
wants to merge 4 commits into
base: 1.0-devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.default
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
OWNCLOUD_VERSION=10.8
OWNCLOUD_VERSION=10.13.4
OWNCLOUD_DOMAIN=localhost:8080
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
.env
composer.lock
sensorlogger
vendor/
_signing
builder
files_*
vendor
viewstl
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
## SensorLogger for Owncloud Docker Development
## Owncloud Docker Development Environment for custom apps

### 1.0.1 (UNRELEASED)
* [NOREF] FIXED Missing entrypoint on docker exec to get set env vars
* [NOREF] ADDED builer and _signing volumes for app signing purpose
* [NOREF] ADDED `composer enable-apps`
* [NOREF] UPDATED to Owncloud 10.13.4
* Modified README. Enhanced composer script
* Updated to Owncloud 10.8
* Replace owncloud shipped overwrite.config.php by overwrite.config.php.dist on docker composer-up
30 changes: 24 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
## SensorLogger for owncloud Development
## Owncloud Docker Development Environment for custom web apps

Simple owncloud docker environment. Ready to test and develop SensorLogger for owncloud.
Simple owncloud docker environment. Ready to test and develop custom apps for owncloud.
Created and tested for use with Ubuntu 18.04. But should work on any system supporting composer and docker.

Currently supporting

* SensorLogger
* 3D File Viewer

but with some tweaks suitable for others too.

### Requirements
* composer
* https://wiki.ubuntuusers.de/Composer/
Expand All @@ -29,7 +36,16 @@ your@machine:...owncloud-docker-development$ `composer docker-stop`
#### Start docker containers
your@machine:...owncloud-docker-development$ `composer docker-start`

### Setup a device (simple)
#### Remove and wipe out docker containers
your@machine:...owncloud-docker-development$ `composer docker-wipeout`

#### Enable Custom Apps
your@machine:...owncloud-docker-development$ `composer enable-apps`
```

#### Additions for SensorLogger

##### Setup a device (simple)
1. Got to Settings->Security
2. Create a new App `password/passcode`
3. Edit `sensorlogger/test/curl/post.php` using an editor or of your choice (vi, mc, pico, gedit, notepad, phpstorm, netbeans, eclipse)
Expand All @@ -45,10 +61,10 @@ Now you have a fake sensor device named `Default device`.
* to add dashboard widget got to `SensorLogger->Dashboard`
> more about `Dashboard Widgets` please read the docs https://github.com/alexstocker/sensorlogger/wiki/Users

#### Creating fake sensor data in a loop
###### Creating fake sensor data in a loop
`while [ 1 ]; do clear; php ./sensorlogger/tests/curl/post.php; sleep 5; done;`

### Setup a device (extend)
##### Setup a device (extend)
1. Got to Settings->Security
2. Create a new App `password/passcode`
3. Edit `sensorlogger/test/curl/register_extend.php` using an editor or of your choice (vi, mc, pico, gedit, notepad, phpstorm, netbeans, eclipse)
Expand All @@ -63,7 +79,9 @@ Now you have a fake sensor device named `Default device`.
> more about the `API` please read the docs https://github.com/alexstocker/sensorlogger/wiki/API
9. Done

#### Creating fake sensor data in a loop
###### Creating fake sensor data in a loop
`while [ 1 ]; do clear; php ./sensorlogger/tests/curl/post_extend.php; sleep 5; done;`

#### Additions for 3D File Viewer

* ... `comming soon`
149 changes: 82 additions & 67 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,69 +1,84 @@
{
"name":"sensorlogger/development-env",
"description":"SensorLogger Development Environment",
"version":"1.0.1",
"type":"project",
"license":"GNU GPLv3",
"repositories":[
{
"type":"vcs",
"url":"https://github.com/alexstocker/sensorlogger.git"
}
],
"require":{
"php":">=7.2",
"alexstocker/sensorlogger":"dev-0.1-devel"
},
"require-dev":{

},
"minimum-stability":"dev",
"suggest":{

},
"scripts":{
"post-install-cmd":[

],
"post-update-cmd":[

],
"check":[

],
"cs-check":[

],
"link-sensorlogger": [
"ln -s vendor/alexstocker/sensorlogger sensorlogger"
],
"cleanup":[
"rm -fv tmp/logs/*",
"rm sensorlogger",
"rm .env"
],
"add-env-files":[
"if [ ! -e \".env\" ]; then cp -v .env.default .env; fi"
],
"docker-up":[
"@add-env-files",
"@link-sensorlogger",
"docker-compose up -d --force-recreate --remove-orphans",
"docker exec -tu www-data:root owncloud_server bash -c 'rm -f /var/www/owncloud/config/overwrite.config.php'",
"docker cp overwrite.config.php.dist owncloud_server:/var/www/owncloud/config/overwrite.config.php"
],
"docker-start":[
"docker-compose start"
],
"docker-stop":[
"docker-compose stop"
],
"docker-wipeout":[
"@docker-stop",
"docker rm owncloud_server",
"docker rm owncloud_redis",
"docker rm owncloud_mariadb",
"@cleanup"
]
}
"name": "alexstocker/owncloud-docker-development",
"description": "Owncloud docker development environment for custom web apps",
"type": "project",
"license": "GNU GPLv3",
"repositories": [
{
"type": "vcs",
"url": "https://github.com/alexstocker/sensorlogger.git"
},
{
"type": "vcs",
"url": "https://github.com/alexstocker/3dviewer-for-owncloud.git"
}
],
"require": {
"php": ">=7.2 || >=7.4",
"alexstocker/sensorlogger": "dev-0.1-devel",
"alexstocker/3dviewer-for-owncloud": "dev-1.0-devel"
},
"require-dev": {
},
"minimum-stability": "dev",
"suggest": {
},
"scripts": {
"post-install-cmd": [
],
"post-update-cmd": [
],
"check": [
],
"cs-check": [
],
"link-sensorlogger": [
"if [ ! -e \"sensorlogger\" ]; then ln -s vendor/alexstocker/sensorlogger sensorlogger; fi"
],
"link-3dviewer": [
"if [ ! -e \"files_3dviewer\" ]; then ln -s vendor/alexstocker/3dviewer-for-owncloud files_3dviewer; fi"
],
"cleanup": [
"docker volume rm owncloud-docker-development_redis owncloud-docker-development_backup owncloud-docker-development_mysql --force",
"rm -fv tmp/logs/*",
"rm sensorlogger",
"rm files_3dviewer",
"rm .env"
],
"add-env-files": [
"if [ ! -e \".env\" ]; then cp -v .env.default .env; fi"
],
"docker-up": [
"@add-env-files",
"@link-sensorlogger",
"@link-3dviewer",
"docker-compose pull",
"docker-compose up -d --force-recreate --remove-orphans"
],
"docker-start": [
"docker-compose start"
],
"docker-stop": [
"docker-compose stop"
],
"docker-wipeout": [
"@docker-stop",
"docker rm owncloud_server",
"docker rm owncloud_redis",
"docker rm owncloud_mariadb",
"@cleanup"
],
"xdebug-install": [
"docker exec -tu root owncloud_server entrypoint bash -c 'apt-get update -y'",
"docker exec -tu root owncloud_server entrypoint bash -c 'apt-get upgrade -y'",
"docker exec -tu root owncloud_server entrypoint bash -c 'apt-get install -y mc iputils-ping php7.4-xdebug'",
"docker exec -tu root owncloud_server entrypoint bash -c 'echo \"remote_enable=1\" >> /etc/php/7.4/apache2/conf.d/20-xdebug.ini && echo \"xdebug.remote_autostart=1\" >> /etc/php/7.4/apache2/conf.d/20-xdebug.ini && echo \"xdebug.remote_port=9003\" >> /etc/php/7.4/apache2/conf.d/20-xdebug.ini && echo \"xdebug.remote_host=127.0.0.1\" >> /etc/php/7.4/apache2/conf.d/20-xdebug.ini'"
],
"enable-apps": [
"docker cp overwrite.config.php.dist owncloud_server:/mnt/data/config/overwrite.config.php",
"docker exec -tu root owncloud_server entrypoint bash -c 'cat /mnt/data/config/overwrite.config.php'",
"docker exec -tu root owncloud_server entrypoint bash -c 'runuser -u www-data ./occ app:enable sensorlogger'",
"docker exec -tu root owncloud_server entrypoint bash -c 'runuser -u www-data ./occ app:enable files_3dviewer'"
]
}
}
14 changes: 11 additions & 3 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '3.2'
version: '3.7'

volumes:
files:
Expand All @@ -9,6 +9,10 @@ volumes:
driver: local
redis:
driver: local
builder:
driver: local
signing:
driver: local

services:
owncloud:
Expand Down Expand Up @@ -38,11 +42,15 @@ services:
timeout: 10s
retries: 5
volumes:
- files:/mnt/data
- ./builder:/mnt/builder
- ./_signing:/mnt/_signing
- ./sensorlogger:/var/www/owncloud/apps-external/sensorlogger
- ./files_3dviewer:/var/www/owncloud/apps-external/files_3dviewer
networks:
- default

mariadb:
image: mariadb:10.5
image: mariadb:10.11
container_name: owncloud_mariadb
restart: always
environment:
Expand Down
2 changes: 1 addition & 1 deletion overwrite.config.php.dist
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function getConfigFromEnv() {
2 => [
"path" => OC::$SERVERROOT . "/apps-external",
"url" => "/apps-external",
"wirteable" => true
"writable" => true
]
],
];
Expand Down