mirror of
				https://github.com/dustinbrun/docker-compose-homeserver.git
				synced 2025-11-04 06:47:31 +01:00 
			
		
		
		
	Version 1
This commit is contained in:
		
							
								
								
									
										46
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								README.md
									
									
									
									
									
								
							@@ -1,2 +1,48 @@
 | 
			
		||||
# docker-compose-homeserver
 | 
			
		||||
Docker Compose application templates for homeserver setup
 | 
			
		||||
 | 
			
		||||
In this repository I share my docker-compose files, which I use in my homeserver environment.
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
# How to use these Files
 | 
			
		||||
These Containers are designed to work on a Debain based machine.
 | 
			
		||||
<br>You need to install docker (see https://docs.docker.com/engine/install/debian/) 
 | 
			
		||||
<br>and docker-compose (see https://docs.docker.com/compose/install/). 
 | 
			
		||||
<br>I also recommend to install portainer to monitor your created containers (see https://documentation.portainer.io/v2.0/deploy/ceinstalldocker/)
 | 
			
		||||
 | 
			
		||||
For each application there is a seperate folder.
 | 
			
		||||
You need to place these folders in your home-directory, for example into `/root`. The docker-compose files are designed in a way, that all configuration- and data-folders are stored in these application folders. If you want to backup your containers you simply backup these folders and you can restore them easily.
 | 
			
		||||
 | 
			
		||||
To deploy a container, go into the application-folder and type: 
 | 
			
		||||
```
 | 
			
		||||
docker-compose up -d
 | 
			
		||||
``` 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Application List
 | 
			
		||||
| Name      | Description  |
 | 
			
		||||
| --------  | ------------ |
 | 
			
		||||
| gitea     | self-hosted Git service |
 | 
			
		||||
| hedgedoc  | collaborative (multi user) markdown editor |
 | 
			
		||||
| icecast   | audio streaming server |
 | 
			
		||||
| nextcloud | online file server / personal cloud |
 | 
			
		||||
| onlyoffice | webbrowser based office software, used with nextcloud 
 | 
			
		||||
| npm       | nginx proxy manager, nginy proxy with web ui |
 | 
			
		||||
| wordpress | content management system (CMS) / blog software |
 | 
			
		||||
| synapse   | Matrix server, personal chat server |
 | 
			
		||||
| matrix-extensions | synapse-admin - User management for synapse with web ui |
 | 
			
		||||
|                   | element-web - Web Messenger client for matrix/element |
 | 
			
		||||
| duplicati | Automated backup software with web ui |
 | 
			
		||||
| overleaf | web based latex text editor with live preview (sharelatex) |
 | 
			
		||||
| lychee | web photo gallery |
 | 
			
		||||
| piwigo | web photo gallery <- Best one in my Opinion |
 | 
			
		||||
| picapport | web photo gallery |
 | 
			
		||||
 | 
			
		||||
<br><br>
 | 
			
		||||
# Sources
 | 
			
		||||
Most of these Files I have not written myself. I found these accross the web and somtimes adapted them to my needs. 
 | 
			
		||||
 | 
			
		||||
Mainly these are the template files created by the respective developer of the application. 
 | 
			
		||||
 | 
			
		||||
dustinbrun
 | 
			
		||||
							
								
								
									
										17
									
								
								duplicati/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								duplicati/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
version: "2.1"
 | 
			
		||||
services:
 | 
			
		||||
  duplicati:
 | 
			
		||||
    image: ghcr.io/linuxserver/duplicati
 | 
			
		||||
    container_name: duplicati
 | 
			
		||||
    environment:
 | 
			
		||||
      - PUID=0
 | 
			
		||||
      - PGID=0
 | 
			
		||||
      - TZ=Europe/Berlin
 | 
			
		||||
     # - CLI_ARGS= #optional
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config:/config
 | 
			
		||||
      - ./backups:/backups
 | 
			
		||||
      - ./source:/source
 | 
			
		||||
    ports:
 | 
			
		||||
      - 8200:8200
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
							
								
								
									
										46
									
								
								gitea/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								gitea/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
version: "2"
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  gitea:
 | 
			
		||||
    external: false
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  server:
 | 
			
		||||
   image: gitea/gitea:latest
 | 
			
		||||
   environment:
 | 
			
		||||
     - USER_UID=1000
 | 
			
		||||
     - USER_GID=1000
 | 
			
		||||
     - DB_TYPE=mysql
 | 
			
		||||
     - DB_HOST=db:3306
 | 
			
		||||
     - DB_NAME=gitea
 | 
			
		||||
     - DB_USER=gitea
 | 
			
		||||
     - DB_PASSWD=123456
 | 
			
		||||
     - APP_NAME=My_Git_Server
 | 
			
		||||
     - DISABLE_SSH=true
 | 
			
		||||
     - DISABLE_REGISTRATION=true
 | 
			
		||||
     - DOMAIN=git.local
 | 
			
		||||
   restart: always
 | 
			
		||||
   networks:
 | 
			
		||||
     - gitea
 | 
			
		||||
   volumes:
 | 
			
		||||
     - ./gitea:/data
 | 
			
		||||
     - /etc/timezone:/etc/timezone:ro
 | 
			
		||||
     - /etc/localtime:/etc/localtime:ro
 | 
			
		||||
   ports:
 | 
			
		||||
     - "3000:3000"
 | 
			
		||||
     - "222:22"
 | 
			
		||||
   depends_on:
 | 
			
		||||
     - db
 | 
			
		||||
 | 
			
		||||
  db:
 | 
			
		||||
    image: mysql:5.7
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
      - MYSQL_ROOT_PASSWORD=123456
 | 
			
		||||
      - MYSQL_USER=gitea
 | 
			
		||||
      - MYSQL_PASSWORD=123456
 | 
			
		||||
      - MYSQL_DATABASE=gitea
 | 
			
		||||
    networks:
 | 
			
		||||
      - gitea
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./mysql:/var/lib/mysql
 | 
			
		||||
							
								
								
									
										35
									
								
								hedgedoc/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								hedgedoc/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
version: "3"
 | 
			
		||||
services:
 | 
			
		||||
  mariadb:
 | 
			
		||||
    image: ghcr.io/linuxserver/mariadb:latest
 | 
			
		||||
    container_name: hedgedoc_mariadb
 | 
			
		||||
    restart: always
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./db_config:/config
 | 
			
		||||
    environment:
 | 
			
		||||
      - MYSQL_ROOT_PASSWORD=123456
 | 
			
		||||
      - MYSQL_DATABASE=hedgedoc
 | 
			
		||||
      - MYSQL_USER=hedgedoc
 | 
			
		||||
      - MYSQL_PASSWORD=123456
 | 
			
		||||
      - PGID=0
 | 
			
		||||
      - PUID=0
 | 
			
		||||
      - TZ=Europe/Berlin
 | 
			
		||||
  hedgedoc:
 | 
			
		||||
    image: ghcr.io/linuxserver/hedgedoc:latest
 | 
			
		||||
    container_name: hedgedoc
 | 
			
		||||
    restart: always
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - mariadb
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config:/config
 | 
			
		||||
    environment:
 | 
			
		||||
      - DB_HOST=mariadb
 | 
			
		||||
      - DB_USER=hedgedoc
 | 
			
		||||
      - DB_PASS=123456
 | 
			
		||||
      - DB_NAME=hedgedoc
 | 
			
		||||
      - DB_PORT=3306
 | 
			
		||||
      - PGID=0
 | 
			
		||||
      - PUID=0
 | 
			
		||||
      - TZ=Europe/Berlin
 | 
			
		||||
    ports:
 | 
			
		||||
      - "86:3000"
 | 
			
		||||
							
								
								
									
										18
									
								
								icecast/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								icecast/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
version: "2"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  icecast:
 | 
			
		||||
   image: infiniteproject/icecast:latest
 | 
			
		||||
   environment:
 | 
			
		||||
     - ICECAST_HOSTNAME=My_Stream
 | 
			
		||||
     - ICECAST_ADMIN_PASSWORD=changeme
 | 
			
		||||
     - ICECAST_ADMIN_USERNAME=admin
 | 
			
		||||
     - ICECAST_SOURCE_PASSWORD=changeme
 | 
			
		||||
     - ICECAST_LOCATION=My_home
 | 
			
		||||
     - ICECAST_MAX_CLIENTS=25
 | 
			
		||||
     - ICECAST_MAX_SOURCES=5
 | 
			
		||||
   restart: always
 | 
			
		||||
#   volumes:
 | 
			
		||||
#     - ./config:/etc/icecast2
 | 
			
		||||
   ports:
 | 
			
		||||
     - "85:8000"
 | 
			
		||||
							
								
								
									
										83
									
								
								lychee/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								lychee/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
#-------------------------------------------
 | 
			
		||||
#  Docker Compose
 | 
			
		||||
# @RobLandry
 | 
			
		||||
# Repo : https://github.com/LycheeOrg/Lychee-Laravel-Docker
 | 
			
		||||
#-------------------------------------------
 | 
			
		||||
 | 
			
		||||
version: '3'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  lychee_db:
 | 
			
		||||
    container_name: lychee_db
 | 
			
		||||
    image: mariadb:10
 | 
			
		||||
    environment:
 | 
			
		||||
      - MYSQL_ROOT_PASSWORD=changeme
 | 
			
		||||
      - MYSQL_DATABASE=lychee
 | 
			
		||||
      - MYSQL_USER=lychee
 | 
			
		||||
      - MYSQL_PASSWORD=changeme
 | 
			
		||||
    expose: 
 | 
			
		||||
      - 3306
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./mysql:/var/lib/mysql
 | 
			
		||||
    networks:
 | 
			
		||||
      - lychee
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
 | 
			
		||||
  lychee:
 | 
			
		||||
    image: lycheeorg/lychee
 | 
			
		||||
    container_name: lychee
 | 
			
		||||
    ports:
 | 
			
		||||
      - 90:80
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./lychee/conf:/conf
 | 
			
		||||
      - ./lychee/uploads:/uploads
 | 
			
		||||
      - ./lychee/sym:/sym
 | 
			
		||||
    networks:
 | 
			
		||||
      - lychee
 | 
			
		||||
    environment:
 | 
			
		||||
      #- PUID=1000
 | 
			
		||||
      #- PGID=1000
 | 
			
		||||
      # PHP timezone e.g. PHP_TZ=America/New_York
 | 
			
		||||
      - PHP_TZ=Germany/Berlin
 | 
			
		||||
      #- APP_NAME=Laravel
 | 
			
		||||
      #- APP_ENV=local
 | 
			
		||||
      #- APP_DEBUG=true
 | 
			
		||||
      #- APP_URL=http://localhost
 | 
			
		||||
      #- LOG_CHANNEL=stack
 | 
			
		||||
      - DB_CONNECTION=mysql
 | 
			
		||||
      - DB_HOST=lychee_db
 | 
			
		||||
      - DB_PORT=3306
 | 
			
		||||
      - DB_DATABASE=lychee
 | 
			
		||||
      - DB_USERNAME=lychee
 | 
			
		||||
      - DB_PASSWORD=changeme
 | 
			
		||||
      #- DB_DROP_CLEAR_TABLES_ON_ROLLBACK=false
 | 
			
		||||
      #- DB_OLD_LYCHEE_PREFIX=''
 | 
			
		||||
      #- BROADCAST_DRIVER=log
 | 
			
		||||
      #- CACHE_DRIVER=file
 | 
			
		||||
      #- SESSION_DRIVER=file
 | 
			
		||||
      #- SESSION_LIFETIME=120
 | 
			
		||||
      #- QUEUE_DRIVER=sync
 | 
			
		||||
      #- SECURITY_HEADER_HSTS_ENABLE=false
 | 
			
		||||
      #- REDIS_HOST=127.0.0.1
 | 
			
		||||
      #- REDIS_PASSWORD=null
 | 
			
		||||
      #- REDIS_PORT=6379
 | 
			
		||||
      #- MAIL_DRIVER=smtp
 | 
			
		||||
      #- MAIL_HOST=smtp.mailtrap.io
 | 
			
		||||
      #- MAIL_PORT=2525
 | 
			
		||||
      #- MAIL_USERNAME=null
 | 
			
		||||
      #- MAIL_PASSWORD=null
 | 
			
		||||
      #- MAIL_ENCRYPTION=null
 | 
			
		||||
      #- PUSHER_APP_ID=''
 | 
			
		||||
      #- PUSHER_APP_KEY=''
 | 
			
		||||
      #- PUSHER_APP_SECRET=''
 | 
			
		||||
      #- PUSHER_APP_CLUSTER=mt1
 | 
			
		||||
      - STARTUP_DELAY=30
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - lychee_db
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  lychee:
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  mysql:
 | 
			
		||||
							
								
								
									
										16
									
								
								matrix-extensions/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								matrix-extensions/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
version: "2"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  element-web:
 | 
			
		||||
   image: vectorim/element-web
 | 
			
		||||
   restart: unless-stopped
 | 
			
		||||
   volumes:
 | 
			
		||||
     - ./element-web-config/config.json:/app/config.json
 | 
			
		||||
   ports:
 | 
			
		||||
     - "91:80"
 | 
			
		||||
 | 
			
		||||
  synapse-admin:
 | 
			
		||||
   image: awesometechnologies/synapse-admin
 | 
			
		||||
   restart: unless-stopped
 | 
			
		||||
   ports:
 | 
			
		||||
     - "92:80"
 | 
			
		||||
							
								
								
									
										54
									
								
								matrix-extensions/element-web-config/config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								matrix-extensions/element-web-config/config.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
{
 | 
			
		||||
    "default_server_config": {
 | 
			
		||||
        "m.homeserver": {
 | 
			
		||||
            "base_url": "--Chatserver-URL--",
 | 
			
		||||
            "server_name": "My-Chat"
 | 
			
		||||
        },
 | 
			
		||||
        "m.identity_server": {
 | 
			
		||||
            "base_url": "--Chatserver-URL--"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "disable_custom_urls": true,
 | 
			
		||||
    "disable_guests": false,
 | 
			
		||||
    "disable_login_language_selector": false,
 | 
			
		||||
    "disable_3pid_login": false,
 | 
			
		||||
    "brand": "Element",
 | 
			
		||||
    "integrations_ui_url": "https://scalar.vector.im/",
 | 
			
		||||
    "integrations_rest_url": "https://scalar.vector.im/api",
 | 
			
		||||
    "integrations_widgets_urls": [
 | 
			
		||||
        "https://scalar.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.vector.im/_matrix/integrations/v1",
 | 
			
		||||
        "https://scalar-staging.vector.im/api",
 | 
			
		||||
        "https://scalar-staging.riot.im/scalar/api"
 | 
			
		||||
    ],
 | 
			
		||||
    "bug_report_endpoint_url": "https://element.io/bugreports/submit",
 | 
			
		||||
    "defaultCountryCode": "DE",
 | 
			
		||||
    "showLabsSettings": false,
 | 
			
		||||
    "features": {
 | 
			
		||||
        "feature_new_spinner": false
 | 
			
		||||
    },
 | 
			
		||||
    "default_federate": true,
 | 
			
		||||
    "default_theme": "light",
 | 
			
		||||
    "roomDirectory": {
 | 
			
		||||
        "servers": [
 | 
			
		||||
            "matrix.org"
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "piwik": {
 | 
			
		||||
        "url": "https://piwik.riot.im/",
 | 
			
		||||
        "whitelistedHSUrls": ["https://matrix.org"],
 | 
			
		||||
        "whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
 | 
			
		||||
        "siteId": 1
 | 
			
		||||
    },
 | 
			
		||||
    "enable_presence_by_hs_url": {
 | 
			
		||||
        "https://matrix.org": false,
 | 
			
		||||
        "https://matrix-client.matrix.org": false
 | 
			
		||||
    },
 | 
			
		||||
    "settingDefaults": {
 | 
			
		||||
        "breadcrumbs": true
 | 
			
		||||
    },
 | 
			
		||||
    "jitsi": {
 | 
			
		||||
        "preferredDomain": "jitsi.riot.im"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								nextcloud/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								nextcloud/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
version: '2'
 | 
			
		||||
 | 
			
		||||
volumes:
 | 
			
		||||
  nextcloud:
 | 
			
		||||
  db:
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  db:
 | 
			
		||||
    image: mariadb
 | 
			
		||||
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
 | 
			
		||||
    restart: always
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./db:/var/lib/mysql
 | 
			
		||||
      - /etc/localtime:/etc/localtime:ro
 | 
			
		||||
      - /etc/timezone:/etc/timezone:ro
 | 
			
		||||
    environment:
 | 
			
		||||
      - MYSQL_ROOT_PASSWORD=changeme
 | 
			
		||||
      - MYSQL_PASSWORD=changeme
 | 
			
		||||
      - MYSQL_DATABASE=nextcloud
 | 
			
		||||
      - MYSQL_USER=nextcloud
 | 
			
		||||
 | 
			
		||||
  app:
 | 
			
		||||
    image: nextcloud
 | 
			
		||||
    ports:
 | 
			
		||||
      - 80:80
 | 
			
		||||
      - 443:443
 | 
			
		||||
    links:
 | 
			
		||||
      - db
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./nextcloud:/var/www/html
 | 
			
		||||
      - ./nextcloud_data:/var/www/html/data
 | 
			
		||||
    restart: always
 | 
			
		||||
							
								
								
									
										10
									
								
								npm/config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								npm/config.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
  "database": {
 | 
			
		||||
    "engine": "mysql",
 | 
			
		||||
    "host": "db",
 | 
			
		||||
    "name": "npm",
 | 
			
		||||
    "user": "npm",
 | 
			
		||||
    "password": "changeme",
 | 
			
		||||
    "port": 3306
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								npm/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								npm/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
version: "3"
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    image: jc21/nginx-proxy-manager:latest
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - 80:80
 | 
			
		||||
      - 81:81
 | 
			
		||||
      - 443:443
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config.json:/app/config/production.json
 | 
			
		||||
      - ./data:/data
 | 
			
		||||
      - ./letsencrypt:/etc/letsencrypt
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - db
 | 
			
		||||
    environment:
 | 
			
		||||
    # if you want pretty colors in your docker logs:
 | 
			
		||||
    - FORCE_COLOR=1
 | 
			
		||||
  db:
 | 
			
		||||
    image: mariadb:latest
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
      MYSQL_ROOT_PASSWORD: "npm"
 | 
			
		||||
      MYSQL_DATABASE: "npm"
 | 
			
		||||
      MYSQL_USER: "npm"
 | 
			
		||||
      MYSQL_PASSWORD: "changeme"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./data/mysql:/var/lib/mysql
 | 
			
		||||
							
								
								
									
										10
									
								
								onlyoffice/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								onlyoffice/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
version: '2'
 | 
			
		||||
services:
 | 
			
		||||
   docserver:
 | 
			
		||||
     image: onlyoffice/documentserver
 | 
			
		||||
     restart: always
 | 
			
		||||
     ports:
 | 
			
		||||
       - 81:80
 | 
			
		||||
     environment:
 | 
			
		||||
       - JWT_ENABLED=true
 | 
			
		||||
       - JWT_SECRET=changeme
 | 
			
		||||
							
								
								
									
										146
									
								
								overleaf/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								overleaf/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,146 @@
 | 
			
		||||
version: '2.2'
 | 
			
		||||
services:
 | 
			
		||||
    sharelatex:
 | 
			
		||||
        restart: always
 | 
			
		||||
        # Server Pro users:
 | 
			
		||||
        # image: quay.io/sharelatex/sharelatex-pro
 | 
			
		||||
        image: sharelatex/sharelatex
 | 
			
		||||
        container_name: sharelatex
 | 
			
		||||
        depends_on:
 | 
			
		||||
            mongo:
 | 
			
		||||
                condition: service_healthy
 | 
			
		||||
            redis:
 | 
			
		||||
                condition: service_started
 | 
			
		||||
        ports:
 | 
			
		||||
            - 83:80
 | 
			
		||||
        links:
 | 
			
		||||
            - mongo
 | 
			
		||||
            - redis
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ./sharelatex_data:/var/lib/sharelatex
 | 
			
		||||
            ########################################################################
 | 
			
		||||
            ####  Server Pro: Un-comment the following line to mount the docker ####
 | 
			
		||||
            ####             socket, required for Sibling Containers to work    ####
 | 
			
		||||
            ########################################################################
 | 
			
		||||
            # - /var/run/docker.sock:/var/run/docker.sock
 | 
			
		||||
        environment:
 | 
			
		||||
 | 
			
		||||
            SHARELATEX_APP_NAME: Overleaf Community Edition
 | 
			
		||||
 | 
			
		||||
            SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
 | 
			
		||||
 | 
			
		||||
            # Same property, unfortunately with different names in
 | 
			
		||||
            # different locations
 | 
			
		||||
            SHARELATEX_REDIS_HOST: redis
 | 
			
		||||
            REDIS_HOST: redis
 | 
			
		||||
 | 
			
		||||
            ENABLED_LINKED_FILE_TYPES: 'url,project_file'
 | 
			
		||||
 | 
			
		||||
            # Enables Thumbnail generation using ImageMagick
 | 
			
		||||
            ENABLE_CONVERSIONS: 'true'
 | 
			
		||||
 | 
			
		||||
            # Disables email confirmation requirement
 | 
			
		||||
            EMAIL_CONFIRMATION_DISABLED: 'true'
 | 
			
		||||
 | 
			
		||||
            # temporary fix for LuaLaTex compiles
 | 
			
		||||
            # see https://github.com/overleaf/overleaf/issues/695
 | 
			
		||||
            TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
 | 
			
		||||
 | 
			
		||||
            ## Set for SSL via nginx-proxy
 | 
			
		||||
            #VIRTUAL_HOST: 103.112.212.22
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_SITE_URL: http://sharelatex.mydomain.com
 | 
			
		||||
            # SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance
 | 
			
		||||
            # SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
 | 
			
		||||
            # SHARELATEX_ADMIN_EMAIL: support@it.com
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://www.sharelatex.com\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]'
 | 
			
		||||
            # SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_EMAIL_FROM_ADDRESS: "team@sharelatex.com"
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
 | 
			
		||||
            # SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_HOST: smtp.mydomain.com
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_PORT: 587
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_SECURE: false
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_USER:
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_PASS:
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
 | 
			
		||||
            # SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
 | 
			
		||||
            # SHARELATEX_CUSTOM_EMAIL_FOOTER: "<div>This system is run by department x </div>"
 | 
			
		||||
 | 
			
		||||
            ################
 | 
			
		||||
            ## Server Pro ##
 | 
			
		||||
            ################
 | 
			
		||||
 | 
			
		||||
            # SANDBOXED_COMPILES: 'true'
 | 
			
		||||
 | 
			
		||||
            # SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
 | 
			
		||||
            # SANDBOXED_COMPILES_HOST_DIR: '/var/sharelatex_data/data/compiles'
 | 
			
		||||
            # SYNCTEX_BIN_HOST_PATH: '/var/sharelatex_data/bin/synctex'
 | 
			
		||||
 | 
			
		||||
            # DOCKER_RUNNER: 'false'
 | 
			
		||||
 | 
			
		||||
            ## Works with test LDAP server shown at bottom of docker compose
 | 
			
		||||
            # SHARELATEX_LDAP_URL: 'ldap://ldap:389'
 | 
			
		||||
            # SHARELATEX_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
 | 
			
		||||
            # SHARELATEX_LDAP_SEARCH_FILTER: '(uid={{username}})'
 | 
			
		||||
            # SHARELATEX_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
 | 
			
		||||
            # SHARELATEX_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
 | 
			
		||||
            # SHARELATEX_LDAP_EMAIL_ATT: 'mail'
 | 
			
		||||
            # SHARELATEX_LDAP_NAME_ATT: 'cn'
 | 
			
		||||
            # SHARELATEX_LDAP_LAST_NAME_ATT: 'sn'
 | 
			
		||||
            # SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
 | 
			
		||||
            # SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            # SHARELATEX_PROXY_LEARN: "true"
 | 
			
		||||
 | 
			
		||||
    mongo:
 | 
			
		||||
        restart: always
 | 
			
		||||
        image: mongo
 | 
			
		||||
        container_name: mongo
 | 
			
		||||
        expose:
 | 
			
		||||
            - 27017
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ./mongo_data:/data/db
 | 
			
		||||
        healthcheck:
 | 
			
		||||
            test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
 | 
			
		||||
            interval: 10s
 | 
			
		||||
            timeout: 10s
 | 
			
		||||
            retries: 5
 | 
			
		||||
 | 
			
		||||
    redis:
 | 
			
		||||
        restart: always
 | 
			
		||||
        image: redis:5
 | 
			
		||||
        container_name: redis
 | 
			
		||||
        expose:
 | 
			
		||||
            - 6379
 | 
			
		||||
        volumes:
 | 
			
		||||
            - ./redis_data:/data
 | 
			
		||||
 | 
			
		||||
    # ldap:
 | 
			
		||||
    #    restart: always
 | 
			
		||||
    #    image: rroemhild/test-openldap
 | 
			
		||||
    #    container_name: ldap
 | 
			
		||||
    #    expose:
 | 
			
		||||
    #        - 389
 | 
			
		||||
 | 
			
		||||
    # See https://github.com/jwilder/nginx-proxy for documentation on how to configure the nginx-proxy container,
 | 
			
		||||
    # and https://github.com/overleaf/overleaf/wiki/HTTPS-reverse-proxy-using-Nginx for an example of some recommended
 | 
			
		||||
    # settings. We recommend using a properly managed nginx instance outside of the Overleaf Server Pro setup,
 | 
			
		||||
    # but the example here can be used if you'd prefer to run everything with docker-compose
 | 
			
		||||
 | 
			
		||||
    # nginx-proxy:
 | 
			
		||||
    #     image: jwilder/nginx-proxy
 | 
			
		||||
    #     container_name: nginx-proxy
 | 
			
		||||
    #     ports:
 | 
			
		||||
    #       #- "80:80"
 | 
			
		||||
    #       - "443:443"
 | 
			
		||||
    #     volumes:
 | 
			
		||||
    #       - /var/run/docker.sock:/tmp/docker.sock:ro
 | 
			
		||||
    #       - /home/sharelatex/tmp:/etc/nginx/certs
 | 
			
		||||
							
								
								
									
										15
									
								
								picapport/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								picapport/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
version: '3'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  picapport:
 | 
			
		||||
    image: whatever4711/picapport
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - 84:80    
 | 
			
		||||
    environment:
 | 
			
		||||
      - Xms=512m
 | 
			
		||||
      - Xmx=1g
 | 
			
		||||
      - PICAPPORT_LANG=de
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config:/opt/picapport/.picapport
 | 
			
		||||
      - ./photos:/srv/photos
 | 
			
		||||
							
								
								
									
										27
									
								
								piwigo/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								piwigo/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
version: "2.1"
 | 
			
		||||
services:
 | 
			
		||||
  piwigo:
 | 
			
		||||
    image: linuxserver/piwigo
 | 
			
		||||
    container_name: piwigo
 | 
			
		||||
    environment:
 | 
			
		||||
      #- PUID=0
 | 
			
		||||
      #- PGID=0
 | 
			
		||||
      - TZ=Europe/Berlin
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./config:/config
 | 
			
		||||
      - ./fotos_cloud:/config/www/gallery/fotos_cloud
 | 
			
		||||
    ports:
 | 
			
		||||
      - 82:80
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
 | 
			
		||||
  db:
 | 
			
		||||
    image: mariadb
 | 
			
		||||
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./db:/var/lib/mysql
 | 
			
		||||
    environment:
 | 
			
		||||
      - MYSQL_ROOT_PASSWORD=changeme
 | 
			
		||||
      - MYSQL_PASSWORD=changeme
 | 
			
		||||
      - MYSQL_DATABASE=piwigo
 | 
			
		||||
      - MYSQL_USER=piwigo
 | 
			
		||||
							
								
								
									
										14
									
								
								synapse/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								synapse/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
version: "2"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  synapse:
 | 
			
		||||
   image: matrixdotorg/synapse:latest
 | 
			
		||||
   environment:
 | 
			
		||||
     - TZ=DE
 | 
			
		||||
     - UID=0
 | 
			
		||||
     - GID=0
 | 
			
		||||
   restart: always
 | 
			
		||||
   volumes:
 | 
			
		||||
     - ./synapse-data:/data
 | 
			
		||||
   ports:
 | 
			
		||||
     - "8008:8008"
 | 
			
		||||
							
								
								
									
										31
									
								
								wordpress/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								wordpress/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
version: '3.1'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
 | 
			
		||||
  wordpress:
 | 
			
		||||
    image: wordpress
 | 
			
		||||
    restart: always
 | 
			
		||||
    ports:
 | 
			
		||||
      - 84:80
 | 
			
		||||
    environment:
 | 
			
		||||
      WORDPRESS_DB_HOST: db
 | 
			
		||||
      WORDPRESS_DB_USER: wordpress
 | 
			
		||||
      WORDPRESS_DB_PASSWORD: changeme
 | 
			
		||||
      WORDPRESS_DB_NAME: wordpress
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./wordpress:/var/www/html
 | 
			
		||||
 | 
			
		||||
  db:
 | 
			
		||||
    image: mysql:5.7
 | 
			
		||||
    restart: always
 | 
			
		||||
    environment:
 | 
			
		||||
      MYSQL_DATABASE: wordpress
 | 
			
		||||
      MYSQL_USER: wordpress
 | 
			
		||||
      MYSQL_PASSWORD: changeme
 | 
			
		||||
      MYSQL_ROOT_PASSWORD: changeme
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./db:/var/lib/mysql
 | 
			
		||||
  
 | 
			
		||||
volumes:
 | 
			
		||||
  wordpress:
 | 
			
		||||
  db:
 | 
			
		||||
		Reference in New Issue
	
	Block a user