Как я могу упаковать серверное приложение .NET, работающее в Linux, как службу с помощью SQLite?Linux

Ответить
Anonymous
 Как я могу упаковать серверное приложение .NET, работающее в Linux, как службу с помощью SQLite?

Сообщение Anonymous »

Мне нужно создать пакет для приложения .NET в Linux для Azure Marketplace. Приложение использует базу данных SQLite. Azure Marketplace в процессе создания предложения не отображает в образе каких-либо настраиваемых пользователей, и проверка образа завершается неудачей, если я создаю выделенного пользователя для запуска моего сервера в качестве службы systemd. Последним шагом подготовки является запуск $ sudo waagent -force -deprovision+user, который удаляет пользователя, под которым я вошел в систему.
Поскольку у меня нет выделенного пользователя для моей службы, я попробовал использовать DynamicUser=yes. Однако ограничение связано с моей базой данных SQLite. Мне нужно, чтобы она оставалась на месте или использовала существующую базу данных, если клиент ее скопировал. Динамические пользователи по умолчанию ограничены и не могут создавать и записывать файлы, а использование StateDirectory создается в каталоге /private, если он существует.
Какой вариант лучше всего выбрать? Можно ли использовать некоторых существующих пользователей (не root), например демона? Размещение сервера в /opt/myserver и базы данных в /var/lib/myserverstate с моим файлом .service, выглядящим следующим образом (с пропусками):
[Unit]
Description=My Server
After=network.target

[Service]
DynamicUser=yes
User=service_usr
WorkingDirectory=/opt/myserver/publish
StateDirectory=myserverstate
ExecStart=/usr/bin/dotnet /opt/myserver/publish/myserver.dll --dbtype:sqlite --conn:"Data Source=/var/lib/myserverstate/Local.db"

[Install]
WantedBy=multi-user.target

В системе управления идентификацией ASP.NET по умолчанию нет места для хранения секретов, и в журналы выводятся следующие предупреждения:
WARN | Using an in-memory repository. Keys will not be persisted to storage.
WARN | Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
WARN | No XML encryptor configured. Key {***-fc4f3683ad02} may be persisted to storage in unencrypted form.


Подробнее здесь: https://stackoverflow.com/questions/798 ... ith-sqlite
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»