capile / studio
Studio CMS: open data management
Requires
- php: >=7.3
- ext-mbstring: *
- bshaffer/oauth2-server-php: ^1.11
- capile/tecnodesign: ^3.0.8
- dragonmantank/cron-expression: ^3.3
- erusev/parsedown: 1.7.*
- foxy/foxy: ^1.1.0
- mlocati/ip-lib: ^1.18.1
- mongodb/mongodb: ^1.20.0
- mustangostang/spyc: ^0.6.2
- phpmailer/phpmailer: ^6.9.3
- phpoffice/phpspreadsheet: ^2.3.4
Requires (Dev)
Suggests
- ext-dom: *
- ext-yaml: Use YAML processing natively
- dapphp/securimage: Enables the captcha form field type
- geshi/geshi: Allows syntax highlight in markdown text
- setasign/fpdi: Allows PDF parsing and composition
- tecnickcom/tcpdf: Allows PDF parsing and composition
- dev-main
- v1.3.x-dev
- 1.3.0
- 1.2.18
- 1.2.17
- 1.2.16
- 1.2.15
- 1.2.14
- 1.2.13
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- v1.1.x-dev
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- v1.0.x-dev
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature/mongodb
- dev-feature/docker
This package is auto-updated.
Last update: 2024-12-20 14:13:38 UTC
README
Studio is a multi-purpose data management tool, designed to work as an API provider, CMS or application framework. The main objective is to build an open source easy to use application to build web apps or consume and analyze data.
Ready to start? You'll need:
- PHP version 8.3+
- Composer
- Git
If you already have them, just type:
git clone https://github.com/capile/studio.git studio
cd studio && composer install
./studio :start
Docker images
Different purpose Docker images are available at <data/deploy>, compatible with latest PHP/nodejs version.
You can start using it directly with:
docker run --rm -v studio-data:/opt/studio/data -p 9999:9999 tecnodesign/studio:latest
Custom configuration
App customization should use *.yml
files mapped into the /opt/studio/config
folder. For example, you can load an external git content repository by adding the configuration web-repos
:
--- all: app: web-repos: - id: www src: https://github.com/capile/www.tecnodz.com.git mount: / mount-src: ~
Then running:
docker run --rm -v studio-config:/opt/studio/config -v studio-data:/opt/studio/data -p 9999:9999 tecnodesign/studio:latest
Running Docker with source code
If you'd like to work with studio code and repository, you can mount the source repository (remember to fix permissions to user www-data
):
git clone https://github.com/capile/studio.git studio
cd studio
docker run --rm -u $UID -e HOME=/tmp -v $PWD:/var/www/studio tecnodesign/studio:latest composer install --no-dev
find app.yml data/{cache,web*,config} -type f -uid $UID -print0 | xargs -0 chmod 666
find data/{cache,web*,config} -type d -uid $UID -print0 | xargs -0 chmod 777
docker run --rm -v studio-data:/opt/studio/data -v $PWD:/var/www/studio --name studio -p 9999:9999 tecnodesign/studio:latest studio-server
Or using docker-compose:
git clone https://github.com/capile/studio.git studio
cd studio
docker-compose -f data/docker/docker-compose.yml up
Running with local source code might require a filesystem check for the writable condition of the container user, so you should either run docker with the -u $UID
option (might lead to some errors), or adjust the local permissions on the data/
folder:
find data/{cache,web*,config} -type f -uid $UID -print0 | xargs -0 chmod 666
find data/{cache,web*,config} -type d -uid $UID -print0 | xargs -0 chmod 777
Now access the demo studio on http://127.0.0.1:9999/_studio
Image/server environment variables
|----------------------|---------------------------|--------------------------------------------------------------------------------------------------------------|