diff --git a/.gitignore b/.gitignore index 8b13789..ce65657 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ - +# Ignore data folder contents but keep structure +data/* +!data/*/ +data/*/** +!data/*/.gitkeep diff --git a/compose.yml b/compose.yml index e5b6257..593f605 100644 --- a/compose.yml +++ b/compose.yml @@ -1,19 +1,25 @@ +# Default compose file - Windows 11 Pro +# For more versions, see compose/ folder + +x-common: &common + image: dockurr/windows + devices: + - /dev/kvm + - /dev/net/tun + cap_add: + - NET_ADMIN + restart: unless-stopped + stop_grace_period: 2m + services: windows: - image: dockurr/windows + <<: *common container_name: windows environment: VERSION: "11" - devices: - - /dev/kvm - - /dev/net/tun - cap_add: - - NET_ADMIN ports: - 8006:8006 - 3389:3389/tcp - 3389:3389/udp volumes: - - ./windows:/storage - restart: always - stop_grace_period: 2m + - ./data/win11:/storage diff --git a/compose/all.yml b/compose/all.yml new file mode 100644 index 0000000..74180b5 --- /dev/null +++ b/compose/all.yml @@ -0,0 +1,5 @@ +include: + - desktop.yml + - legacy.yml + - server.yml + - tiny.yml diff --git a/compose/base.yml b/compose/base.yml new file mode 100644 index 0000000..4f9096e --- /dev/null +++ b/compose/base.yml @@ -0,0 +1,9 @@ +x-common: &common + image: dockurr/windows + devices: + - /dev/kvm + - /dev/net/tun + cap_add: + - NET_ADMIN + restart: unless-stopped + stop_grace_period: 2m diff --git a/compose/desktop.yml b/compose/desktop.yml new file mode 100644 index 0000000..b933560 --- /dev/null +++ b/compose/desktop.yml @@ -0,0 +1,5 @@ +include: + - desktop/win11.yml + - desktop/win10.yml + - desktop/win8.yml + - desktop/win7.yml diff --git a/compose/desktop/win10.yml b/compose/desktop/win10.yml new file mode 100644 index 0000000..a48e255 --- /dev/null +++ b/compose/desktop/win10.yml @@ -0,0 +1,39 @@ +include: + - ../base.yml + +services: + win10: + <<: *common + container_name: win10 + environment: + VERSION: "10" + ports: + - 8010:8006 + - 3310:3389/tcp + - 3310:3389/udp + volumes: + - ../../data/win10:/storage + + win10e: + <<: *common + container_name: win10e + environment: + VERSION: "10e" + ports: + - 8014:8006 + - 3314:3389/tcp + - 3314:3389/udp + volumes: + - ../../data/win10e:/storage + + win10l: + <<: *common + container_name: win10l + environment: + VERSION: "10l" + ports: + - 8015:8006 + - 3315:3389/tcp + - 3315:3389/udp + volumes: + - ../../data/win10l:/storage diff --git a/compose/desktop/win11.yml b/compose/desktop/win11.yml new file mode 100644 index 0000000..49e3f6d --- /dev/null +++ b/compose/desktop/win11.yml @@ -0,0 +1,39 @@ +include: + - ../base.yml + +services: + win11: + <<: *common + container_name: win11 + environment: + VERSION: "11" + ports: + - 8011:8006 + - 3311:3389/tcp + - 3311:3389/udp + volumes: + - ../../data/win11:/storage + + win11e: + <<: *common + container_name: win11e + environment: + VERSION: "11e" + ports: + - 8012:8006 + - 3312:3389/tcp + - 3312:3389/udp + volumes: + - ../../data/win11e:/storage + + win11l: + <<: *common + container_name: win11l + environment: + VERSION: "11l" + ports: + - 8013:8006 + - 3313:3389/tcp + - 3313:3389/udp + volumes: + - ../../data/win11l:/storage diff --git a/compose/desktop/win7.yml b/compose/desktop/win7.yml new file mode 100644 index 0000000..468ea66 --- /dev/null +++ b/compose/desktop/win7.yml @@ -0,0 +1,27 @@ +include: + - ../base.yml + +services: + win7: + <<: *common + container_name: win7 + environment: + VERSION: "7u" + ports: + - 8007:8006 + - 3307:3389/tcp + - 3307:3389/udp + volumes: + - ../../data/win7:/storage + + win7e: + <<: *common + container_name: win7e + environment: + VERSION: "7e" + ports: + - 8071:8006 + - 3371:3389/tcp + - 3371:3389/udp + volumes: + - ../../data/win7e:/storage diff --git a/compose/desktop/win8.yml b/compose/desktop/win8.yml new file mode 100644 index 0000000..a92ef1f --- /dev/null +++ b/compose/desktop/win8.yml @@ -0,0 +1,27 @@ +include: + - ../base.yml + +services: + win81: + <<: *common + container_name: win81 + environment: + VERSION: "8" + ports: + - 8008:8006 + - 3308:3389/tcp + - 3308:3389/udp + volumes: + - ../../data/win81:/storage + + win81e: + <<: *common + container_name: win81e + environment: + VERSION: "8e" + ports: + - 8081:8006 + - 3381:3389/tcp + - 3381:3389/udp + volumes: + - ../../data/win81e:/storage diff --git a/compose/legacy.yml b/compose/legacy.yml new file mode 100644 index 0000000..d56e088 --- /dev/null +++ b/compose/legacy.yml @@ -0,0 +1,4 @@ +include: + - legacy/vista.yml + - legacy/winxp.yml + - legacy/win2k.yml diff --git a/compose/legacy/vista.yml b/compose/legacy/vista.yml new file mode 100644 index 0000000..0589ca8 --- /dev/null +++ b/compose/legacy/vista.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + vista: + <<: *common + container_name: vista + environment: + VERSION: "vu" + ports: + - 8006:8006 + - 3306:3389/tcp + - 3306:3389/udp + volumes: + - ../../data/vista:/storage diff --git a/compose/legacy/win2k.yml b/compose/legacy/win2k.yml new file mode 100644 index 0000000..376aa52 --- /dev/null +++ b/compose/legacy/win2k.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2k: + <<: *common + container_name: win2k + environment: + VERSION: "2k" + ports: + - 8000:8006 + - 3300:3389/tcp + - 3300:3389/udp + volumes: + - ../../data/win2k:/storage diff --git a/compose/legacy/winxp.yml b/compose/legacy/winxp.yml new file mode 100644 index 0000000..d6c9901 --- /dev/null +++ b/compose/legacy/winxp.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + winxp: + <<: *common + container_name: winxp + environment: + VERSION: "xp" + ports: + - 8005:8006 + - 3305:3389/tcp + - 3305:3389/udp + volumes: + - ../../data/winxp:/storage diff --git a/compose/server.yml b/compose/server.yml new file mode 100644 index 0000000..5f6a826 --- /dev/null +++ b/compose/server.yml @@ -0,0 +1,8 @@ +include: + - server/win2025.yml + - server/win2022.yml + - server/win2019.yml + - server/win2016.yml + - server/win2012.yml + - server/win2008.yml + - server/win2003.yml diff --git a/compose/server/win2003.yml b/compose/server/win2003.yml new file mode 100644 index 0000000..b837aab --- /dev/null +++ b/compose/server/win2003.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2003: + <<: *common + container_name: win2003 + environment: + VERSION: "2003" + ports: + - 8003:8006 + - 3303:3389/tcp + - 3303:3389/udp + volumes: + - ../../data/win2003:/storage diff --git a/compose/server/win2008.yml b/compose/server/win2008.yml new file mode 100644 index 0000000..a36b80b --- /dev/null +++ b/compose/server/win2008.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2008: + <<: *common + container_name: win2008 + environment: + VERSION: "2008" + ports: + - 8108:8006 + - 3208:3389/tcp + - 3208:3389/udp + volumes: + - ../../data/win2008:/storage diff --git a/compose/server/win2012.yml b/compose/server/win2012.yml new file mode 100644 index 0000000..b67a29d --- /dev/null +++ b/compose/server/win2012.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2012: + <<: *common + container_name: win2012 + environment: + VERSION: "2012" + ports: + - 8112:8006 + - 3212:3389/tcp + - 3212:3389/udp + volumes: + - ../../data/win2012:/storage diff --git a/compose/server/win2016.yml b/compose/server/win2016.yml new file mode 100644 index 0000000..5df94f0 --- /dev/null +++ b/compose/server/win2016.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2016: + <<: *common + container_name: win2016 + environment: + VERSION: "2016" + ports: + - 8016:8006 + - 3316:3389/tcp + - 3316:3389/udp + volumes: + - ../../data/win2016:/storage diff --git a/compose/server/win2019.yml b/compose/server/win2019.yml new file mode 100644 index 0000000..f4bdb91 --- /dev/null +++ b/compose/server/win2019.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2019: + <<: *common + container_name: win2019 + environment: + VERSION: "2019" + ports: + - 8019:8006 + - 3319:3389/tcp + - 3319:3389/udp + volumes: + - ../../data/win2019:/storage diff --git a/compose/server/win2022.yml b/compose/server/win2022.yml new file mode 100644 index 0000000..657b93d --- /dev/null +++ b/compose/server/win2022.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2022: + <<: *common + container_name: win2022 + environment: + VERSION: "2022" + ports: + - 8022:8006 + - 3322:3389/tcp + - 3322:3389/udp + volumes: + - ../../data/win2022:/storage diff --git a/compose/server/win2025.yml b/compose/server/win2025.yml new file mode 100644 index 0000000..51cb7d4 --- /dev/null +++ b/compose/server/win2025.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + win2025: + <<: *common + container_name: win2025 + environment: + VERSION: "2025" + ports: + - 8025:8006 + - 3325:3389/tcp + - 3325:3389/udp + volumes: + - ../../data/win2025:/storage diff --git a/compose/tiny.yml b/compose/tiny.yml new file mode 100644 index 0000000..88124d0 --- /dev/null +++ b/compose/tiny.yml @@ -0,0 +1,3 @@ +include: + - tiny/tiny11.yml + - tiny/tiny10.yml diff --git a/compose/tiny/tiny10.yml b/compose/tiny/tiny10.yml new file mode 100644 index 0000000..21a6882 --- /dev/null +++ b/compose/tiny/tiny10.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + tiny10: + <<: *common + container_name: tiny10 + environment: + VERSION: "tiny10" + ports: + - 8110:8006 + - 3110:3389/tcp + - 3110:3389/udp + volumes: + - ../../data/tiny10:/storage diff --git a/compose/tiny/tiny11.yml b/compose/tiny/tiny11.yml new file mode 100644 index 0000000..a7e6cd4 --- /dev/null +++ b/compose/tiny/tiny11.yml @@ -0,0 +1,15 @@ +include: + - ../base.yml + +services: + tiny11: + <<: *common + container_name: tiny11 + environment: + VERSION: "tiny11" + ports: + - 8111:8006 + - 3111:3389/tcp + - 3111:3389/udp + volumes: + - ../../data/tiny11:/storage diff --git a/data/tiny10/.gitkeep b/data/tiny10/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/tiny11/.gitkeep b/data/tiny11/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/vista/.gitkeep b/data/vista/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win10/.gitkeep b/data/win10/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win10e/.gitkeep b/data/win10e/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win10l/.gitkeep b/data/win10l/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win11/.gitkeep b/data/win11/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win11e/.gitkeep b/data/win11e/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win11l/.gitkeep b/data/win11l/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2003/.gitkeep b/data/win2003/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2008/.gitkeep b/data/win2008/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2012/.gitkeep b/data/win2012/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2016/.gitkeep b/data/win2016/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2019/.gitkeep b/data/win2019/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2022/.gitkeep b/data/win2022/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2025/.gitkeep b/data/win2025/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win2k/.gitkeep b/data/win2k/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win7/.gitkeep b/data/win7/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win7e/.gitkeep b/data/win7e/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win81/.gitkeep b/data/win81/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/win81e/.gitkeep b/data/win81e/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/winxp/.gitkeep b/data/winxp/.gitkeep new file mode 100644 index 0000000..e69de29