Hoy vamos a ver cómo podemos desplegar un contenedor para guardar notas o links a nuestras webs de interés o proyectos.

Basado en benotes (https://github.com/fr0tt/benotes_docker-compose)
Lo primero que tenemos que hacer es crear este Docker Compose:
version: "3.6"
services:
benotes_app:
container_name: benotes_app
image: fr0tt/benotes:2.7.0-beta
restart: unless-stopped
environment:
DB_CONNECTION: ${DB_CONNECTION}
#ports:
#- ${APP_PORT}:80
volumes:
- .env:/var/www/.env
#- ./data/storage/app/public/thumbnails:/var/www/storage/app/public/thumbnails
#- ./data/storage/backup:/var/www/storage/backup
#- ./data/storage/logs:/var/www/storage/logs
# or instead one named volume to rule them all:
- benotes_storage:/var/www/storage
# this is optional (either way):
#- ./data/nginx/logs/:/var/lib/nginx/logs/
networks:
- docker_netwkork
benotes_db:
container_name: benotes_db
image: postgres:15.2-alpine
restart: unless-stopped
environment:
POSTGRES_DATABASE: ${DB_DATABASE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
ports:
- ${DB_PORT}
volumes:
- benotes_postgres:/var/lib/postgres/data
networks:
- docker_netwkork
#
# If you wish to use MySQL instead remove the lines above, uncomment the following
# and change APP_PORT in your .env file to 3306
#
# db:
# container_name: benotes_db
# image: mysql:5.7
# restart: unless-stopped
# environment:
# MYSQL_DATABASE: ${DB_DATABASE}
# MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
# MYSQL_USER: ${DB_USERNAME}
# MYSQL_PASSWORD: ${DB_PASSWORD}
# ports:
# - ${DB_PORT}
# volumes:
# - benotes_mysql:/var/lib/mysql
# networks:
# - docker_netwkork
volumes:
benotes_postgres:
driver: "local"
# benotes_mysql:
# driver: "local"
benotes_storage:
driver: "local"
networks:
docker_netwkork:
external: true
Una vez creado el archivo, añadimos este .env en raíz. El .env lo lee directamente Docker Compose.
APP_PORT=8099
APP_NAME=Benotes
APP_ENV=production
APP_DEBUG=false
APP_URL=http://localhost:${APP_PORT}
APP_TIMEZONE=UTC
GENERATE_MISSING_THUMBNAILS=true
USE_FILESYSTEM=true
DB_CONNECTION=pgsql
DB_HOST=benotes_db
DB_PORT=5432
DB_DATABASE=db_benotes
DB_USERNAME=user_benotes
DB_PASSWORD=pass_benotes
CACHE_DRIVER=file
MAIL_DRIVER=smtp
MAIL_HOST=
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="Benotes"
JWT_ALGO=HS256
Ahora lanzamos el contenedor:
docker compose up -d
Tenemos que permitir permisos de escritura y lectura en .env ya que será modificada por el contenedor para establecer la clave inicial.
sudo chmod 777 -env
Ahora ejecutamos este comando para iniciar la configuración:
docker compose exec --user application benotes_app sh
Y lanzamos la configuración:
php artisan install
Ahora nos pedirá confirmar la instalación, decimos a todo yes.
Y pedirá establecer el username, email y password para acceder.
Una vez listo, podremos acceder al servicio desde http://localhost:8099

Y ya podemos crear una nueva colección y añadir dentro nuestros links o notas.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.