app-store/apps/linkstack/docker-compose.yml
Nicolas Meienberger 01c6836796
local domain configs H-L (#678)
* feat(halo): change config to support local domain

* feat(hammond): change config to support local domain

* feat(haven): change config to support local domain

* feat(hedgedoc): change config to support local domain

* feat(hello-world): change config to support local domain

* feat(homarr): change config to support local domain

* feat(homebox): change config to support local domain

* feat(immich): change config to support local domain

* feat(invidious): change config to support local domain

* feat(it-tools): change config to support local domain

* feat(jackett): change config to support local domain

* feat(jellyseerr): change config to support local domain

* feat(joplin): change config to support local domain

* feat(kandboard): change config to support local domain

* feat(kapowarr): change config to support local domain

* feat(kavita): change config to support local domain

* feat(libreddit): change config to support local domain

* feat(librephotos): change config to support local domain

* feat(libretranslate): change config to support local domain

* feat(lidarr): change config to support local domain

* feat(lidarr-deemix): change config to support local domain

* feat(linkstack): change config to support local domain

* feat(lodestone-core): change config to support local domain
2023-06-10 17:29:03 +02:00

91 lines
4.0 KiB
YAML

version: "3.7"
services:
linkstack:
container_name: linkstack
hostname: linkstack
entrypoint: "/bin/sh"
command:
- -c
- |
cp -n -r /htdocs/database/ /data/database
cp -n /htdocs/.env /data/.env
cp -n -r /htdocs/littlelink/images /data/images
cp -n -r /htdocs/themes /data/themes
cp -n -r /htdocs/img /data/img
chown -R apache:apache /data
rm -rf /htdocs/database/
rm /htdocs/.env
rm -rf /htdocs/littlelink/images
rm -rf /htdocs/themes
rm -rf /htdocs/img
sed -i 's/FORCE_HTTPS=false/FORCE_HTTPS=true/g' /data/.env
# uncomment this after first start
# to prevent the installing dialog coming up
# if the container is recreated
# rm /htdocs/INSTALLING
ln -s /data/database /htdocs/database
ln -s /data/.env /htdocs/.env
ln -s /data/images /htdocs/littlelink/images
ln -s /data/themes /htdocs/themes
ln -s /data/img/ /htdocs/img
cd /htdocs
php artisan migrate --force
exec /usr/local/bin/docker-entrypoint.sh server
image: linkstackorg/linkstack:latest
environment:
- TZ=${TZ}
- SERVER_ADMIN=${LINKSTACK_CUSTOM_EMAIL}
- HTTP_SERVER_NAME=${APP_DOMAIN}
- HTTPS_SERVER_NAME=${APP_DOMAIN}
- LOG_LEVEL=info
- PHP_MEMORY_LIMIT=256M
- UPLOAD_MAX_FILESIZE=8M
- DB_CONNECTION=sqlite
- FORCE_HTTPS=true
volumes:
- "${APP_DATA_DIR}/data/linkstack:/data"
ports:
- 8184:80
- "${APP_PORT}:443"
restart: unless-stopped
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.services.linkstack.loadbalancer.server.port: 80
traefik.http.middlewares.linkstack-web-redirect.redirectscheme.scheme: https
traefik.http.middlewares.linkstack-security-headers.headers.contentSecurityPolicy: "upgrade-insecure-requests"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Real-IP: "$remote_addr"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Forwarded-For: "$proxy_add_x_forwarded_for"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-Forwarded-Proto: "https"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.X-VerifiedViaNginx: "yes"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Upgrade: "$http_upgrade"
traefik.http.middlewares.linkstack-forwarded-headers.headers.customrequestheaders.Connection: "upgrade"
# Web
traefik.http.routers.linkstack-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.linkstack-insecure.entrypoints: web
traefik.http.routers.linkstack-insecure.service: linkstack
traefik.http.routers.linkstack-insecure.middlewares: linkstack-web-redirect
# Websecure
traefik.http.routers.linkstack.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.linkstack.entrypoints: websecure
traefik.http.routers.linkstack.service: linkstack
traefik.http.routers.linkstack.middlewares: linkstack-security-headers,linkstack-forwarded-headers
traefik.http.routers.linkstack.tls.certresolver: myresolver
# Local domain
traefik.http.routers.linkstack-local-insecure.rule: Host(`linkstack.${LOCAL_DOMAIN}`)
traefik.http.routers.linkstack-local-insecure.entrypoints: web
traefik.http.routers.linkstack-local-insecure.service: linkstack
traefik.http.routers.linkstack-local-insecure.middlewares: linkstack-web-redirect
# Local domain secure
traefik.http.routers.linkstack-local.rule: Host(`linkstack.${LOCAL_DOMAIN}`)
traefik.http.routers.linkstack-local.entrypoints: websecure
traefik.http.routers.linkstack-local.service: linkstack
traefik.http.routers.linkstack-local.middlewares: linkstack-security-headers,linkstack-forwarded-headers
traefik.http.routers.linkstack-local.tls: true