diff --git a/README.md b/README.md index 8adc887..1367fae 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ This repository contains Docker Compose setups for a variety of applications, en - Filestash (`storage/filestash`) - **Management** - Dockhand (`management/services/dockhand`) +- **Web** + - LinkStack (`web/sharing/linkstack`) - **Distribute** - RabbitMQ (`distribute/brokers/rabbitmq`) - RedBeat (`distribute/scheduler/redbeat`) diff --git a/web/sharing/linkstack/docker-compose.yml b/web/sharing/linkstack/docker-compose.yml new file mode 100644 index 0000000..5e1cce9 --- /dev/null +++ b/web/sharing/linkstack/docker-compose.yml @@ -0,0 +1,35 @@ +# Ports are env-driven rather than hardcoded 80/443, since Traefik already +# claims host 80/443 in this repo. +networks: + internal: + name: "internal" + # External means the container will be accessible from other containers in the same network. + # If you want to isolate the container create a new network, with different name for each container and without being external. + external: true + +volumes: + linkstack: + name: "linkstack" + +services: + linkstack: + image: "linkstackorg/linkstack:latest" + container_name: "linkstack" + restart: "unless-stopped" + networks: + - "internal" + ports: + - "${LINKSTACK_HTTP_PORT?Variable not set}:80" + - "${LINKSTACK_HTTPS_PORT?Variable not set}:443" + volumes: + - "linkstack:/htdocs" + environment: + - "TZ=${TIMEZONE?Variable not set}" + - "SERVER_ADMIN=${LINKSTACK_SERVER_ADMIN?Variable not set}" + - "HTTP_SERVER_NAME=${LINKSTACK_HTTP_SERVER_NAME?Variable not set}" + - "HTTPS_SERVER_NAME=${LINKSTACK_HTTPS_SERVER_NAME?Variable not set}" + - "LOG_LEVEL=${LINKSTACK_LOG_LEVEL?Variable not set}" + - "PHP_MEMORY_LIMIT=${LINKSTACK_PHP_MEMORY_LIMIT?Variable not set}" + - "UPLOAD_MAX_FILESIZE=${LINKSTACK_UPLOAD_MAX_FILESIZE?Variable not set}" + labels: + - "traefik.enable=false" diff --git a/web/sharing/linkstack/template.env b/web/sharing/linkstack/template.env new file mode 100644 index 0000000..2f62b54 --- /dev/null +++ b/web/sharing/linkstack/template.env @@ -0,0 +1,16 @@ +# For all strings containing special characters, use single quotes. +# In case of older docker compose versions (<3.9), do not use single or double quotes at all. + +# Container's docker environment configuration. +COMPOSE_PROJECT_NAME='lowercase_string_without_special_characters' +TIMEZONE="Region/Country" + +# LinkStack's docker environment configuration. +LINKSTACK_HTTP_PORT=1234 +LINKSTACK_HTTPS_PORT=5678 +LINKSTACK_SERVER_ADMIN='string_with_special_characters' +LINKSTACK_HTTP_SERVER_NAME='string_with_special_characters' +LINKSTACK_HTTPS_SERVER_NAME='string_with_special_characters' +LINKSTACK_LOG_LEVEL='info' +LINKSTACK_PHP_MEMORY_LIMIT='256M' +LINKSTACK_UPLOAD_MAX_FILESIZE='8M'