ISSUE-17: fixes obsolete "version" attribute inside docker-compose.ym… (#18)

* ISSUE-17: fixes obsolete "version" attribute inside docker-compose.yml files

* added .gitignore with some general basic settings

* dockerfiles fixes
- fixes missing permissions for .sh files inside the images
- fixes COPY of multiple files (missing trailing slash '/' on target path
- fixes use of hardcoded username:usergroup on COPY --chown

* dockerfiles fixes
- fixes COPY of multiple files (missing trailing slash '/' on target path

* fixes missing OS_CONFIGKEY on setEnvironment.sh files

---------

Co-authored-by: Lordfox <c.haendler@lordfox.de>
This commit is contained in:
Lordfox
2025-10-03 14:12:44 -07:00
committed by GitHub
co-authored by Lordfox
parent 198913f338
commit c7dc77ee66
16 changed files with 263 additions and 39 deletions
+207
View File
@@ -0,0 +1,207 @@
### MonoDevelop template
#User Specific
*.userprefs
*.usertasks
#Mono Project Files
*.pidb
*.resources
test-results/
### TortoiseGit template
# Project-level settings
/.tgitconfig
### VisualStudioCode template
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Xcode template
## User settings
xcuserdata/
### Linux template
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### PuTTY template
# Private key
*.ppk
### Windows template
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
### Vim template
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
### macOS template
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
#
# Project related
#
+6 -5
View File
@@ -106,16 +106,17 @@ RUN adduser --disabled-password --gecos 'OpenSimulator user' $OS_ACCOUNT
USER $OS_ACCOUNT:$OS_ACCOUNT
# Scripts that keep OpenSimulator running, make crash reports, clean up log files, etc
COPY --chown=opensim:opensim temp-run-scripts/*.sh $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/*.sh $OPENSIMHOME/
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
# Copy the binary files
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/build/$OS_BUILDTARGET $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $VERSIONDIR $VERSIONDIR
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/build/$OS_BUILDTARGET $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $VERSIONDIR $VERSIONDIR
# The .ini files in config-include in the image are not used and are emptied here to eliminate any confusion
RUN cd $OPENSIMDIR/bin/config-include \
&& chmod +x $OPENSIMHOME/*.sh \
&& $OPENSIMHOME/nullOutConfigInclude.sh
# Create the directory that is mounted that includes all the configuration
-3
View File
@@ -1,6 +1,3 @@
version: '3'
networks:
localnet:
driver: bridge
+8 -7
View File
@@ -159,21 +159,22 @@ RUN adduser --disabled-password --gecos 'OpenSimulator user' $OS_ACCOUNT
USER $OS_ACCOUNT:$OS_ACCOUNT
# Scripts that keep OpenSimulator running, make crash reports, clean up log files, etc
COPY --chown=opensim:opensim temp-run-scripts/*.sh $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/*.sh $OPENSIMHOME/
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
# Copy the binary files
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $VERSIONDIR $VERSIONDIR
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $VERSIONDIR $VERSIONDIR
# The NuGet DLLs are not copied into the bin directory.
# TODO: Figure out why NuGet packages are not copied.
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/.nuget/packages/fleck/1.2.0/lib/netstandard2.0/Fleck.dll $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/.nuget/packages/nlog/4.7.15/lib/netstandard2.0/NLog.dll $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/.nuget/packages/fleck/1.2.0/lib/netstandard2.0/Fleck.dll $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/.nuget/packages/nlog/4.7.15/lib/netstandard2.0/NLog.dll $OPENSIMDIR/bin
# The .ini files in config-include in the image are not used and are emptied here to eliminate any confusion
RUN cd $OPENSIMDIR/bin/config-include \
&& chmod +x $OPENSIMHOME/*.sh \
&& $OPENSIMHOME/nullOutConfigInclude.sh
# Create the directory that is mounted that includes all the configuration
+6 -5
View File
@@ -109,16 +109,17 @@ RUN adduser --disabled-password --gecos 'OpenSimulator user' $OS_ACCOUNT
USER $OS_ACCOUNT:$OS_ACCOUNT
# Scripts that keep OpenSimulator running, make crash reports, clean up log files, etc
COPY --chown=opensim:opensim temp-run-scripts/*.sh $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/*.sh $OPENSIMHOME/
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
# Copy the binary files
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $VERSIONDIR $VERSIONDIR
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $VERSIONDIR $VERSIONDIR
# The .ini files in config-include in the image are not used and are emptied here to eliminate any confusion
RUN cd $OPENSIMDIR/bin/config-include \
&& chmod +x $OPENSIMHOME/*.sh \
&& $OPENSIMHOME/nullOutConfigInclude.sh
# Create the directory that is mounted that includes all the configuration
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
@@ -1,6 +1,3 @@
version: '3'
networks:
localnet:
driver: bridge
+6 -5
View File
@@ -124,16 +124,17 @@ RUN adduser --disabled-password --gecos 'OpenSimulator user' $OS_ACCOUNT
USER $OS_ACCOUNT:$OS_ACCOUNT
# Scripts that keep OpenSimulator running, make crash reports, clean up log files, etc
COPY --chown=opensim:opensim temp-run-scripts/*.sh $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/*.sh $OPENSIMHOME/
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
# Copy the binary files
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $VERSIONDIR $VERSIONDIR
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $VERSIONDIR $VERSIONDIR
# The .ini files in config-include in the image are not used and are emptied here to eliminate any confusion
RUN cd $OPENSIMDIR/bin/config-include \
&& chmod +x $OPENSIMHOME/*.sh \
&& $OPENSIMHOME/nullOutConfigInclude.sh
# Create the directory that is mounted that includes all the configuration
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
-3
View File
@@ -1,6 +1,3 @@
version: '3'
networks:
localnet:
driver: bridge
+6 -5
View File
@@ -109,16 +109,17 @@ RUN adduser --disabled-password --gecos 'OpenSimulator user' $OS_ACCOUNT
USER $OS_ACCOUNT:$OS_ACCOUNT
# Scripts that keep OpenSimulator running, make crash reports, clean up log files, etc
COPY --chown=opensim:opensim temp-run-scripts/*.sh $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=opensim:opensim temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/*.sh $OPENSIMHOME/
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/crontab $OPENSIMHOME
COPY --chown=$OS_ACCOUNT:$OS_ACCOUNT temp-run-scripts/vimrc $OPENSIMHOME/.vimrc
# Copy the binary files
COPY --from=build --chown=opensim:opensim $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=opensim:opensim $VERSIONDIR $VERSIONDIR
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $OPENSIMDIR/bin $OPENSIMDIR/bin
COPY --from=build --chown=$OS_ACCOUNT:$OS_ACCOUNT $VERSIONDIR $VERSIONDIR
# The .ini files in config-include in the image are not used and are emptied here to eliminate any confusion
RUN cd $OPENSIMDIR/bin/config-include \
&& chmod +x $OPENSIMHOME/*.sh \
&& $OPENSIMHOME/nullOutConfigInclude.sh
# Create the directory that is mounted that includes all the configuration
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
@@ -15,7 +15,11 @@ if [[ ! -z "$OS_CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
echo "opensim-docker: setEnvironment.sh: have secrets file \"{$secretsFile}\""
# export key for ccrypt - otherwise it fails
export OS_CONFIGKEY=$OS_CONFIGKEY;
source <(ccrypt -c -E OS_CONFIGKEY "$secretsFile")
# unset the key again
unset OS_CONFIGKEY;
HAVE_SECRETS=yes
break;
else
-3
View File
@@ -1,6 +1,3 @@
version: '3'
networks:
localnet:
driver: bridge