diff --git a/focalboard/docker-compose.yml b/focalboard/docker-compose.yml new file mode 100644 index 0000000..0c069b1 --- /dev/null +++ b/focalboard/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3.3' +services: + focalboard: + image: mattermost/focalboard + container_name: focalboard +# volumes: +# - './data:/data' + ports: + - '8092:8000' + restart: unless-stopped + \ No newline at end of file diff --git a/fredbet/docker-compose.yml b/fredbet/docker-compose.yml new file mode 100644 index 0000000..94631ea --- /dev/null +++ b/fredbet/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3" +services: + mariadb: + image: mariadb:10.1.11 + container_name: fredbet_db + volumes: + - /opt/fredbet/mariadb:/var/lib/mysql + ports: + - "3307:3306" + environment: + - MYSQL_DATABASE=fredbetdb + - MYSQL_ROOT_PASSWORD=secred + - MYSQL_USER=fred + - MYSQL_PASSWORD=fred + restart: unless-stopped + + fredbet: + image: fred4jupiter/fredbet + container_name: fredbet + links: + - mariadb:mariadb + depends_on: + - mariadb + ports: + - "8083:8080" + environment: + - SPRING_PROFILES_ACTIVE=prod + - SPRING_DATASOURCE_URL=jdbc:mariadb://mariadb:3306/fredbetdb + - SPRING_DATASOURCE_USERNAME=fred + - SPRING_DATASOURCE_PASSWORD=fred + - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver + - FREDBET_IMAGE_LOCATION_FILE=FILE_SYSTEM + - FREDBET_IMAGE_FILE_SYSTEM_BASE_FOLDER=/home/fred/fredbet_images + volumes: + - "./fredbet_images:/home/fred/fredbet_images" + - "./tmp:/tmp" + restart: unless-stopped \ No newline at end of file diff --git a/guacamole/.env.sample b/guacamole/.env.sample new file mode 100644 index 0000000..bd8f3b4 --- /dev/null +++ b/guacamole/.env.sample @@ -0,0 +1 @@ +PASSWORD=ChangeMe \ No newline at end of file diff --git a/guacamole/docker-compose.yml b/guacamole/docker-compose.yml new file mode 100644 index 0000000..3cfc072 --- /dev/null +++ b/guacamole/docker-compose.yml @@ -0,0 +1,124 @@ +#################################################################################### +# docker-compose file for Apache Guacamole +# created by PCFreak 2017-06-28 +# +# Apache Guacamole is a clientless remote desktop gateway. It supports standard +# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or +# client software are required. Thanks to HTML5, once Guacamole is installed on +# a server, all you need to access your desktops is a web browser. +#################################################################################### +# +# What does this file do? +# +# Using docker-compose it will: +# +# - create a network 'guacnetwork_compose' with the 'bridge' driver. +# - create a service 'guacd_compose' from 'guacamole/guacd' connected to 'guacnetwork' +# - create a service 'postgres_guacamole_compose' (1) from 'postgres' connected to 'guacnetwork' +# - create a service 'guacamole_compose' (2) from 'guacamole/guacamole/' conn. to 'guacnetwork' +# - create a service 'nginx_guacamole_compose' (3) from 'nginx' connected to 'guacnetwork' +# +# (1) +# DB-Init script is in './init/initdb.sql' it has been created executing +# 'docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > ./init/initdb.sql' +# once. +# DATA-DIR is in './data' +# If you want to change the DB password change all lines with 'POSTGRES_PASSWORD:' and +# change it to your needs before first start. +# To start from scratch delete './data' dir completely +# './data' will hold all data after first start! +# The initdb.d scripts are only executed the first time the container is started +# (and the database files are empty). If the database files already exist then the initdb.d +# scripts are ignored (e.g. when you mount a local directory or when docker-compose saves +# the volume and reuses it for the new container). +# +# !!!!! MAKE SURE your folder './init' is executable (chmod +x ./init) +# !!!!! or 'initdb.sql' will be ignored! +# +# './data' will hold all data after first start! +# +# (2) +# Make sure you use the same value for 'POSTGRES_USER' and 'POSTGRES_PASSWORD' +# as configured under (1) +# +# (3) +# ./nginx/nginx.conf will be mapped read-only into the container at /etc/nginx/nginx.conf +# ./nginx/mysite.template will be mapped into the container at /etc/nginx/conf.d/mysite.template +# ./nginx/ssl will be mapped into the container at /etc/nginx/ssl +# At startup a self-signed certificate will be created. If you want to use your own certs +# just remove the part that generates the certs from the 'command' section and replace +# 'self-ssl.key' and 'self.cert' with your certificate. +# To debug nginx replace '&& nginx -g 'daemon off' with '&& nginx-debug -g 'daemon off' +# nginx will export port 8443 to the outside world, make sure that this port is reachable +# on your system from the "outside world". All other traffice is only internal. +# +# You could remove the entire 'nginx' service from this file if you want to use your own +# reverse proxy in front of guacamole. If doing so, make sure you change the line +# - 8080/tcp +# to - 8080:8080/tcp +# within the 'guacamole' service. This will expose the guacamole webinterface directly +# on port 8080 and you can use it for your own purposes. +# Do note, guacamole is available on :8080/guacamole, not /. +# +# !!!!! FOR INITAL SETUP (after git clone) run ./prepare.sh once +# +# !!!!! FOR A FULL RESET (WILL ERASE YOUR DATABASE, YOUR FILES, YOUR RECORDS AND CERTS) DO A +# !!!!! ./reset.sh +# +# +# The initial login to the guacamole webinterface is: +# +# Username: guacadmin +# Password: guacadmin +# +# Make sure you change it immediately! +# +# version date comment +# 0.1 2017-06-28 initial release +# 0.2 2017-10-09 minor fixes + internal GIT push +# 0.3 2017-10-09 minor fixes + public GIT push +# 0.4 2019-08-14 creating of ssl certs now in prepare.sh +# simplified nginx startup commands +#################################################################################### + +version: '2.0' + +services: + guacd: + container_name: guacd_compose + image: guacamole/guacd + restart: always + volumes: + - ./drive:/drive:rw + - ./record:/record:rw + + postgres: + container_name: postgres_guacamole_compose + environment: + PGDATA: /var/lib/postgresql/data/guacamole + POSTGRES_DB: guacamole_db + POSTGRES_PASSWORD: ${PASSWORD} + POSTGRES_USER: guacamole_user + image: postgres:13.4 + restart: always + volumes: + - ./init:/docker-entrypoint-initdb.d:ro + - ./data:/var/lib/postgresql/data:rw + + guacamole: + container_name: guacamole_compose + depends_on: + - guacd + - postgres + environment: + GUACD_HOSTNAME: guacd + POSTGRES_DATABASE: guacamole_db + POSTGRES_HOSTNAME: postgres + POSTGRES_PASSWORD: ${PASSWORD} + POSTGRES_USER: guacamole_user + image: guacamole/guacamole + links: + - guacd + ports: + - 8091:8080/tcp + restart: always \ No newline at end of file diff --git a/jellyfin/.env.sample b/jellyfin/.env.sample new file mode 100644 index 0000000..3fc0cd9 --- /dev/null +++ b/jellyfin/.env.sample @@ -0,0 +1,2 @@ +NFS_SERVER=192.168.0.xxx # oder hostname oder Domain +PFAD_HD=/Pfad/zum/Ordner/HD \ No newline at end of file diff --git a/jellyfin/docker-compose.yml b/jellyfin/docker-compose.yml new file mode 100644 index 0000000..119489e --- /dev/null +++ b/jellyfin/docker-compose.yml @@ -0,0 +1,30 @@ +--- +version: "2.1" +services: + jellyfin: + image: lscr.io/linuxserver/jellyfin + container_name: jellyfin + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Berlin + - JELLYFIN_PublishedServerUrl= #optional + volumes: + - ./config:/config + - ./tvseries:/data/tvshows + - hd:/data/movies + ports: + - 8096:8096 + - 8920:8920 #optional + - 7359:7359/udp #optional + - 1905:1900/udp #optional + restart: unless-stopped + +volumes: + hd: + name: hd + driver: local + driver_opts: + type: nfs + o: addr=${NFS_SERVER},rw + device: ":${PFAD_HD}" diff --git a/papermerge/.env.sample b/papermerge/.env.sample new file mode 100644 index 0000000..4607126 --- /dev/null +++ b/papermerge/.env.sample @@ -0,0 +1,3 @@ +NFS_SERVER=192.168.0.xxx # oder hostname oder Domain +PFAD=/Pfad/zum/Ordner +PFAD_2=/Pfad/zum/sanner_input_ordner