Windshift
Self-hosted work management platform with projects, tasks, sprints, and team collaboration.
Configuration
version: "3.8"
services:
windshift:
image: ghcr.io/windshiftapp/windshift:v0.5.3
restart: unless-stopped
environment:
- BASE_URL=https://${DOMAIN}
- PORT=8080
- USE_PROXY=true
- SSO_SECRET=${SSO_SECRET}
- ATTACHMENT_PATH=/data/attachments
- DB_TYPE=postgres
- POSTGRES_HOST=db
- POSTGRES_PORT=5432
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- LOG_LEVEL=info
- LOG_FORMAT=json
volumes:
- windshift-data:/data
depends_on:
db:
condition: service_healthy
db:
image: postgres:17.4
restart: unless-stopped
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
windshift-data: {}
postgres-data: {}[variables]
main_domain = "${domain}"
sso_secret = "${hash:64}"
db_password = "${password:32}"
[config]
env = [
"DOMAIN=${main_domain}",
"SSO_SECRET=${sso_secret}",
"POSTGRES_USER=windshift",
"POSTGRES_PASSWORD=${db_password}",
"POSTGRES_DB=windshift",
]
mounts = []
[[config.domains]]
serviceName = "windshift"
port = 8080
host = "${main_domain}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuc2VydmljZXM6XG4gIHdpbmRzaGlmdDpcbiAgICBpbWFnZTogZ2hjci5pby93aW5kc2hpZnRhcHAvd2luZHNoaWZ0OnYwLjUuM1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIEJBU0VfVVJMPWh0dHBzOi8vJHtET01BSU59XG4gICAgICAtIFBPUlQ9ODA4MFxuICAgICAgLSBVU0VfUFJPWFk9dHJ1ZVxuICAgICAgLSBTU09fU0VDUkVUPSR7U1NPX1NFQ1JFVH1cbiAgICAgIC0gQVRUQUNITUVOVF9QQVRIPS9kYXRhL2F0dGFjaG1lbnRzXG4gICAgICAtIERCX1RZUEU9cG9zdGdyZXNcbiAgICAgIC0gUE9TVEdSRVNfSE9TVD1kYlxuICAgICAgLSBQT1NUR1JFU19QT1JUPTU0MzJcbiAgICAgIC0gUE9TVEdSRVNfVVNFUj0ke1BPU1RHUkVTX1VTRVJ9XG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPSR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICAtIFBPU1RHUkVTX0RCPSR7UE9TVEdSRVNfREJ9XG4gICAgICAtIExPR19MRVZFTD1pbmZvXG4gICAgICAtIExPR19GT1JNQVQ9anNvblxuICAgIHZvbHVtZXM6XG4gICAgICAtIHdpbmRzaGlmdC1kYXRhOi9kYXRhXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIGRiOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuXG4gIGRiOlxuICAgIGltYWdlOiBwb3N0Z3JlczoxNy40XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gUE9TVEdSRVNfVVNFUj0ke1BPU1RHUkVTX1VTRVJ9XG4gICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPSR7UE9TVEdSRVNfUEFTU1dPUkR9XG4gICAgICAtIFBPU1RHUkVTX0RCPSR7UE9TVEdSRVNfREJ9XG4gICAgdm9sdW1lczpcbiAgICAgIC0gcG9zdGdyZXMtZGF0YTovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGFcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IFtcIkNNRC1TSEVMTFwiLCBcInBnX2lzcmVhZHkgLVUgJCR7UE9TVEdSRVNfVVNFUn0gLWQgJCR7UE9TVEdSRVNfREJ9XCJdXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiA1XG5cbnZvbHVtZXM6XG4gIHdpbmRzaGlmdC1kYXRhOiB7fVxuICBwb3N0Z3Jlcy1kYXRhOiB7fVxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbnNzb19zZWNyZXQgPSBcIiR7aGFzaDo2NH1cIlxuZGJfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcblxuW2NvbmZpZ11cbmVudiA9IFtcbiAgXCJET01BSU49JHttYWluX2RvbWFpbn1cIixcbiAgXCJTU09fU0VDUkVUPSR7c3NvX3NlY3JldH1cIixcbiAgXCJQT1NUR1JFU19VU0VSPXdpbmRzaGlmdFwiLFxuICBcIlBPU1RHUkVTX1BBU1NXT1JEPSR7ZGJfcGFzc3dvcmR9XCIsXG4gIFwiUE9TVEdSRVNfREI9d2luZHNoaWZ0XCIsXG5dXG5tb3VudHMgPSBbXVxuXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJ3aW5kc2hpZnRcIlxucG9ydCA9IDgwODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcbiIKfQ==Links
Tags
project-management, collaboration, productivity, self-hosted
Version: v0.5.0