Loading Dockerfile +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ RUN apt-get update && apt-get install -y \ RUN docker-php-ext-configure gd --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd RUN pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli RUN echo "file_uploads = On\n" \ Loading docker-compose.yml +12 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,21 @@ services: volumes: - .:/castopod depends_on: - redis - mariadb networks: - castopod redis: image: "redis:alpine" container_name: "castopod_redis" ports: - 6379:6379 volumes: - redis:/data networks: - castopod mariadb: image: mariadb:latest container_name: castopod_mariadb Loading Loading @@ -69,5 +80,6 @@ services: - castopod volumes: redis: mariadb: phpmyadmin: docs/setup-development.md +28 −7 Original line number Diff line number Diff line Loading @@ -36,15 +36,29 @@ git clone https://code.podlibre.org/podlibre/castopod.git ``` 2. Create a `.env` file with the minimum required config to connect the app to the database: the database and use redis as a cache handler: ```ini CI_ENVIRONMENT="development" app.baseURL="http://localhost:8080/" app.mediaBaseURL="http://localhost:8080/" app.adminGateway="cp-admin" app.authGateway="cp-auth" database.default.hostname="mariadb" database.default.database="castopod" database.default.username="podlibre" database.default.password="castopod" cache.handler="redis" cache.redis.host = "redis" # You may not want to use redis as your cache handler # Comment/remove the two lines above and uncomment # the next line for file caching. #cache.handler="file" ``` > _NB._ You can tweak your environment by setting more environment variables in Loading Loading @@ -99,18 +113,19 @@ docker-compose ps # Alternatively, you can check all docker processes (you should see composer and npm with an Exited status) docker ps -a ``` > The `docker-compose up -d` command will boot 3 containers in the background: > The `docker-compose up -d` command will boot 4 containers in the background: > > - `castopod_app`: a php based container with codeigniter requirements > - `castopod_app`: a php based container with CodeIgniter4 requirements > installed > - `castopod_redis`: a [redis](https://redis.io/) database to handle queries > and pages caching > - `castopod_mariadb`: a [mariadb](https://mariadb.org/) server for persistent > data > - `castopod_phpmyadmin`: a phpmyadmin server to visualize the mariadb database > > _NB._ `./mariadb`, `./phpmyadmin` folders will be mounted in the project's > root directory to persist data and logs. > - `castopod_phpmyadmin`: a phpmyadmin server to visualize the mariadb > database. ## Initialize and populate database Loading Loading @@ -221,6 +236,12 @@ To see your changes, go to: # monitor the app container docker-compose logs --tail 50 --follow --timestamps app # interact with redis server using included redis-cli command docker exec -it castopod_redis redis-cli # monitor the redis container docker-compose logs --tail 50 --follow --timestamps redis # monitor the mariadb container docker-compose logs --tail 50 --follow --timestamps mariadb Loading Loading
Dockerfile +4 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,10 @@ RUN apt-get update && apt-get install -y \ RUN docker-php-ext-configure gd --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd RUN pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli RUN echo "file_uploads = On\n" \ Loading
docker-compose.yml +12 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,21 @@ services: volumes: - .:/castopod depends_on: - redis - mariadb networks: - castopod redis: image: "redis:alpine" container_name: "castopod_redis" ports: - 6379:6379 volumes: - redis:/data networks: - castopod mariadb: image: mariadb:latest container_name: castopod_mariadb Loading Loading @@ -69,5 +80,6 @@ services: - castopod volumes: redis: mariadb: phpmyadmin:
docs/setup-development.md +28 −7 Original line number Diff line number Diff line Loading @@ -36,15 +36,29 @@ git clone https://code.podlibre.org/podlibre/castopod.git ``` 2. Create a `.env` file with the minimum required config to connect the app to the database: the database and use redis as a cache handler: ```ini CI_ENVIRONMENT="development" app.baseURL="http://localhost:8080/" app.mediaBaseURL="http://localhost:8080/" app.adminGateway="cp-admin" app.authGateway="cp-auth" database.default.hostname="mariadb" database.default.database="castopod" database.default.username="podlibre" database.default.password="castopod" cache.handler="redis" cache.redis.host = "redis" # You may not want to use redis as your cache handler # Comment/remove the two lines above and uncomment # the next line for file caching. #cache.handler="file" ``` > _NB._ You can tweak your environment by setting more environment variables in Loading Loading @@ -99,18 +113,19 @@ docker-compose ps # Alternatively, you can check all docker processes (you should see composer and npm with an Exited status) docker ps -a ``` > The `docker-compose up -d` command will boot 3 containers in the background: > The `docker-compose up -d` command will boot 4 containers in the background: > > - `castopod_app`: a php based container with codeigniter requirements > - `castopod_app`: a php based container with CodeIgniter4 requirements > installed > - `castopod_redis`: a [redis](https://redis.io/) database to handle queries > and pages caching > - `castopod_mariadb`: a [mariadb](https://mariadb.org/) server for persistent > data > - `castopod_phpmyadmin`: a phpmyadmin server to visualize the mariadb database > > _NB._ `./mariadb`, `./phpmyadmin` folders will be mounted in the project's > root directory to persist data and logs. > - `castopod_phpmyadmin`: a phpmyadmin server to visualize the mariadb > database. ## Initialize and populate database Loading Loading @@ -221,6 +236,12 @@ To see your changes, go to: # monitor the app container docker-compose logs --tail 50 --follow --timestamps app # interact with redis server using included redis-cli command docker exec -it castopod_redis redis-cli # monitor the redis container docker-compose logs --tail 50 --follow --timestamps redis # monitor the mariadb container docker-compose logs --tail 50 --follow --timestamps mariadb Loading