diff --git a/bookstack/txt2bookstack.py b/bookstack/txt2bookstack.py index 46f8f85..76298bc 100644 --- a/bookstack/txt2bookstack.py +++ b/bookstack/txt2bookstack.py @@ -6,7 +6,7 @@ import os import html -directory = '/home/nick/working/emails-2019' +directory = '/home/nick/working/emails-202003' # The insert statement to insert a page print("INSERT INTO `pages` (`id`, `book_id`, `chapter_id`, `name`, `slug`, `html`, `text`, `priority`, `created_at`, `updated_at`, `created_by`, `updated_by`, `restricted`, `draft`, `markdown`, `revision_count`, `template`) VALUES" ) @@ -38,7 +38,7 @@ for filename in os.listdir(directory): slug=slugnospace.lower() # now write the sql query - print("(NULL, '1', '_fixme_', '", end = '') + print("(NULL, '1', '33', '", end = '') print(filenoext, end = '') #Name print("', '", end = '') print(slug, end = '') #slug diff --git a/monica/docker-compose.yml b/monica/docker-compose.yml new file mode 100644 index 0000000..f2281f4 --- /dev/null +++ b/monica/docker-compose.yml @@ -0,0 +1,57 @@ +################################################################################ +# MONICA_ +# TODO: this isn't working, it won't grab the DB host name +# I think you have to build it with the env file +# +# make sure you use the $PREFIX from .env for project_name +# docker-compose -p project_name up -d +# +# Importing directly to the db (phpmydadmin) +# you have to run the following in the container: +# php artisan bookstack:regenerate-permissions +# +# Version 1 +################################################################################ +version: "3.4" + +volumes: + monica-db: + monica: + +networks: + admin_web: + external: + name: admin_web + +services: + monica: + # https://hub.docker.com/r/monicahq/monicahq + image: monicahq/monicahq:${MONICA_V} + depends_on: + - monica-db + networks: + - admin_web + ports: + - 80:80 + volumes: + - monica:/var/www/monica/storage + restart: always + labels: + - "traefik.enable=true" + - "traefik.http.routers.${PREFIX}_monica.rule=Host(`${MONICA_DOMAIN_NAME}`)" + - "traefik.http.routers.${PREFIX}_monica.entrypoints=websecure" + - "traefik.http.routers.${PREFIX}_monica.tls.certresolver=letsencrypt" + - "traefik.http.services.${PREFIX}_monica.loadbalancer.server.port=8080" + + monica-db: + image: mariadb:${DB_V} + restart: always + environment: + - MYSQL_ROOT_PASSWORD=${MONICA_MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=monica + - MYSQL_USER=homestead + - MYSQL_PASSWORD=${MONICA_MYSQL_PASSWORD} + volumes: + - monica-db:/var/lib/mysql + networks: + - admin_web diff --git a/monica/env-sample b/monica/env-sample new file mode 100644 index 0000000..7056171 --- /dev/null +++ b/monica/env-sample @@ -0,0 +1,180 @@ +# Grab the defaul env here: +# https://raw.githubusercontent.com/monicahq/monica/master/.env.example + +# Two choices: local|production. Use local if you want to install Monica as a +# development version. Use production otherwise. +APP_ENV=production + +# true if you want to show debug information on errors. For production, put this +# to false. +APP_DEBUG=true + +# The encryption key. This is the most important part of the application. Keep +# this secure otherwise, everyone will be able to access your application. +# Must be 32 characters long exactly. +# Use `php artisan key:generate` or `pwgen -s 32 1` to generate a random key. +APP_KEY=tIUqHiirV6wQ9uPRPy7IV2YNELovDgnr + +# Prevent information leakage by referring to IDs with hashIds instead of +# the actual IDs used in the database. +HASH_SALT=ABCDEeMeBy20+KeyLength +HASH_LENGTH=18 + +# The URL of your application. +APP_URL=http://localhost + +# Database information +# To keep this information secure, we urge you to change the default password +DB_CONNECTION=mysql +DB_HOST=p1_monica-db_1 +DB_PORT=3306 +# You can use mysql unix socket if available, it overrides DB_HOST and DB_PORT values. +#DB_UNIX_SOCKET=/var/run/mysqld/mysqld.sock +DB_DATABASE=monica +DB_USERNAME=homestead +DB_PASSWORD=Again2ASecurepass! +DB_PREFIX= +DB_TEST_HOST=p1_monica-db_1 +DB_TEST_DATABASE=monica_test +DB_TEST_USERNAME=homestead +DB_TEST_PASSWORD=Again2ASecurepass! + +# Use utf8mb4 database charset format to support emoji characters +# ⚠ be sure your DBMS supports utf8mb4 format +DB_USE_UTF8MB4=true + +# Mail credentials used to send emails from the application. +MAIL_MAILER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME= +MAIL_PASSWORD= +MAIL_ENCRYPTION= +# Outgoing emails will be sent with these identity +MAIL_FROM_ADDRESS= +MAIL_FROM_NAME="Monica instance" +# New registration notification sent to this email +APP_EMAIL_NEW_USERS_NOTIFICATION= + +# Ability to disable signups on your instance. +# Can be true or false. Default to false. +APP_DISABLE_SIGNUP=true + +# Enable user email verification. +APP_SIGNUP_DOUBLE_OPTIN=false + +# Set trusted proxy IP addresses. +# To trust all proxies that connect directly to your server, use a "*". +# To trust one or more specific proxies that connect directly to your server, +# use a comma separated list of IP addresses. +APP_TRUSTED_PROXIES= + +# Enable automatic cloudflare trusted proxy discover +APP_TRUSTED_CLOUDFLARE=false + +# Frequency of creation of new log files. Logs are written when an error occurs. +# Refer to config/logging.php for the possible values. +LOG_CHANNEL=daily + +# Error tracking. Specific to hosted version on .com. You probably don't need +# those. +SENTRY_SUPPORT=false +SENTRY_LARAVEL_DSN= + +# Send a daily ping to https://version.monicahq.com to check if a new version +# is available. When a new version is detected, you will have a message in the +# UI, as well as the release notes for the new changes. Can be true or false. +# Default to true. +CHECK_VERSION=true + +# Cache, session, and queue parameters +# ⚠ Change this only if you know what you are doing +#. Cache: database, file, memcached, redis, dynamodb +#. Session: file, cookie, database, apc, memcached, redis, array +#. Queue: sync, database, beanstalkd, sqs, redis +# If Queue is not set to 'sync', you'll have to set a queue worker +# See https://laravel.com/docs/5.7/queues#running-the-queue-worker +CACHE_DRIVER=database +SESSION_DRIVER=file +SESSION_LIFETIME=120 +QUEUE_CONNECTION=sync + +# If you use redis, set the redis host or ip, like: +#REDIS_HOST=redis + +# Maximum allowed size for uploaded files, in kilobytes. +# Make sure this is an integer, without commas or spaces. +DEFAULT_MAX_UPLOAD_SIZE=10240 + +# Maximum allowed storage size per account, in megabytes. +# Make sure this is an integer, without commas or spaces. +DEFAULT_MAX_STORAGE_SIZE=512 + +# Default filesystem to store uploaded files. +# Possible values: public|s3 +DEFAULT_FILESYSTEM=public + +# AWS keys for S3 when using this storage method +AWS_KEY= +AWS_SECRET= +AWS_REGION=us-east-1 +AWS_BUCKET= +AWS_SERVER= + +# Allow Two Factor Authentication feature on your instance +MFA_ENABLED=true + +# Enable DAV support +DAV_ENABLED=true + +# CLIENT ID and SECRET used for the official mobile application +# This is to make sure that only the mobile application that you approve can +# access the route to let your users sign in with their credentials +# Note: the official mobile application is not currently available on the stores. +MOBILE_CLIENT_ID= +MOBILE_CLIENT_SECRET= + +# Allow to access general statistics about your instance through a public API +# call +ALLOW_STATISTICS_THROUGH_PUBLIC_API_ACCESS=false + +# Indicates that each user in the instance must comply to international policies +# like CASL or GDPR +POLICY_COMPLIANT=true + +# Enable geolocation services +# This is used to translate addresses to GPS coordinates. +ENABLE_GEOLOCATION=false + +# API key for geolocation services +# We use LocationIQ (https://locationiq.com/) to translate addresses to +# latitude/longitude coordinates. We could use Google instead but we don't +# want to give anything to Google, ever. +# LocationIQ offers 10,000 free requests per day. +LOCATION_IQ_API_KEY= + +# Enable weather on contact profile page +# Weather can only be fetched if we know longitude/latitude - this is why +# you also need to activate the geolocation service above to make it work +ENABLE_WEATHER=false + +# Access to weather data from darksky api +# https://darksky.net/dev/register +# Darksky provides an api with 1000 free API calls per day +# You need to enable the weather above if you provide an API key here. +DARKSKY_API_KEY= + + +################################################################################# + +# Domains & Project +PREFIX=p1 +MONICA_DOMAIN_NAME=family.nickyeoman.com + +# Passwords +MONICA_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass! +MONICA_MYSQL_PASSWORD=Again2ASecurepass! + +# Software versions +DB_V=10.4.11 +MONICA_V=v2.17.0