diff --git a/hello-bunker/docker-compose.yml b/hello-bunker/docker-compose.yml new file mode 100644 index 0000000..b371e28 --- /dev/null +++ b/hello-bunker/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3' +services: + mybunkerized: + image: bunkerity/bunkerized-nginx + ports: + - 80:8080 + - 443:8443 + volumes: + - /docker/storage/infra/bunkerized/bunkerized-hello/www:/www:ro + - /docker/storage/infra/bunkerized/bunkerized-hello/certs:/etc/letsencrypt + environment: + - SERVER_NAME=hello.sol-calc.com + - AUTO_LETS_ENCRYPT=yes \ No newline at end of file diff --git a/inventree/inventree-docker-compose.yml b/inventree/inventree-docker-compose.yml new file mode 100644 index 0000000..cef136b --- /dev/null +++ b/inventree/inventree-docker-compose.yml @@ -0,0 +1,119 @@ +version: "3.8" + +# Docker compose recipe for InvenTree +# - Runs PostgreSQL as the database backend +# - Runs Gunicorn as the InvenTree web server +# - Runs the InvenTree background worker process +# - Runs nginx as a reverse proxy + +# --------------------------------- +# IMPORTANT - READ BEFORE STARTING! +# --------------------------------- +# Before running, ensure that you change the "/path/to/data" directory, +# specified in the "volumes" section at the end of this file. +# This path determines where the InvenTree data will be stored! +# +# +# InvenTree Image Versions +# ------------------------ +# By default, this docker-compose script targets the STABLE version of InvenTree, +# image: inventree/inventree:stable +# +# To run the LATEST (development) version of InvenTree, change the target image to: +# image: inventree/inventree:latest +# +# Alternatively, you could target a specific tagged release version with (for example): +# image: inventree/inventree:0.5.3 +# +# NOTE: If you change the target image, ensure it is the same for the following containers: +# - inventree-server +# - inventree-worker + +services: + # Database service + # Use PostgreSQL as the database backend + # Note: this can be changed to a different backend, + # just make sure that you change the INVENTREE_DB_xxx vars below + inventree-db: + container_name: inventree-db + image: postgres:13 + ports: + - 5432/tcp + environment: + - PGDATA=/var/lib/postgresql/data/pgdb + # The pguser and pgpassword values must be the same in the other containers + # Ensure that these are correctly configured in your prod-config.env file + - POSTGRES_USER=pguser + - POSTGRES_PASSWORD=pgpassword + volumes: + # Map 'data' volume such that postgres database is stored externally + - data:/var/lib/postgresql/data/ + restart: unless-stopped + + # InvenTree web server services + # Uses gunicorn as the web server + inventree-server: + container_name: inventree-server + # If you wish to specify a particular InvenTree version, do so here + image: inventree/inventree:stable + expose: + - 8000 + depends_on: + - inventree-db + volumes: + # Data volume must map to /home/inventree/data + - data:/home/inventree/data + env_file: + # Environment variables required for the production server are configured in prod-config.env + - prod-config.env + restart: unless-stopped + + # Background worker process handles long-running or periodic tasks + inventree-worker: + container_name: inventree-worker + # If you wish to specify a particular InvenTree version, do so here + image: inventree/inventree:stable + command: invoke worker + depends_on: + - inventree-db + - inventree-server + volumes: + # Data volume must map to /home/inventree/data + - data:/home/inventree/data + env_file: + # Environment variables required for the production server are configured in prod-config.env + - prod-config.env + restart: unless-stopped + + # nginx acts as a reverse proxy + # static files are served directly by nginx + # media files are served by nginx, although authentication is redirected to inventree-server + # web requests are redirected to gunicorn + # NOTE: You will need to provide a working nginx.conf file! + inventree-proxy: + container_name: inventree-proxy + image: nginx:stable + depends_on: + - inventree-server + ports: + # Change "1337" to the port that you want InvenTree web server to be available on + - 1337:80 + volumes: + # Provide ./nginx.conf file to the container + # Refer to the provided example file as a starting point + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro + # nginx proxy needs access to static and media files + - data:/var/www + restart: unless-stopped + +volumes: + # NOTE: Change /path/to/data to a directory on your local machine + # Persistent data, stored external to the container(s) + data: + driver: local + driver_opts: + type: none + o: bind + # This directory specified where InvenTree data are stored "outside" the docker containers + # Change this path to a local system path where you want InvenTree data stored + device: /path/to/data \ No newline at end of file diff --git a/paperless-ng/docker-compose.postgres-tika.yml b/paperless-ng/docker-compose.postgres-tika.yml new file mode 100644 index 0000000..93fff4a --- /dev/null +++ b/paperless-ng/docker-compose.postgres-tika.yml @@ -0,0 +1,90 @@ +# docker-compose file for running paperless from the Docker Hub. +# This file contains everything paperless needs to run. +# Paperless supports amd64, arm and arm64 hardware. +# +# All compose files of paperless configure paperless in the following way: +# +# - Paperless is (re)started on system boot, if it was running before shutdown. +# - Docker volumes for storing data are managed by Docker. +# - Folders for importing and exporting files are created in the same directory +# as this file and mounted to the correct folders inside the container. +# - Paperless listens on port 8000. +# +# In addition to that, this docker-compose file adds the following optional +# configurations: +# +# - Instead of SQLite (default), PostgreSQL is used as the database server. +# - Apache Tika and Gotenberg servers are started with paperless and paperless +# is configured to use these services. These provide support for consuming +# Office documents (Word, Excel, Power Point and their LibreOffice counter- +# parts. +# +# To install and update paperless with this file, do the following: +# +# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env' +# and '.env' into a folder. +# - Run 'docker-compose pull'. +# - Run 'docker-compose run --rm webserver createsuperuser' to create a user. +# - Run 'docker-compose up -d'. +# +# For more extensive installation and update instructions, refer to the +# documentation. + +version: "3.4" +services: + broker: + image: redis:6.0 + restart: unless-stopped + + db: + image: postgres:13 + restart: unless-stopped + volumes: + - pgdata:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: paperless + + webserver: + image: jonaswinkler/paperless-ng:latest + restart: unless-stopped + depends_on: + - db + - broker + - gotenberg + - tika + ports: + - 8000:8000 + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000"] + interval: 30s + timeout: 10s + retries: 5 + volumes: + - data:/usr/src/paperless/data + - media:/usr/src/paperless/media + - ./export:/usr/src/paperless/export + - ./consume:/usr/src/paperless/consume + env_file: docker-compose.env + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + PAPERLESS_TIKA_ENABLED: 1 + PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 + PAPERLESS_TIKA_ENDPOINT: http://tika:9998 + + gotenberg: + image: thecodingmachine/gotenberg + restart: unless-stopped + environment: + DISABLE_GOOGLE_CHROME: 1 + + tika: + image: apache/tika + restart: unless-stopped + +volumes: + data: + media: + pgdata: