Это несколько странная проблема, но вот она:
Команда (около 15 пользователей) в нашей организации использует автономное веб-приложение Ruby-on-Rails для поиска и просмотра данных о соревнованиях. Не было бы никаких проблем, если бы не правила соревнований, запрещающие подключение к Интернету, поэтому любые облачные или офисные серверы запрещены. Тем не менее, они позволяют нам приносить на место наши собственные устройства, пока данные не подключены. Поэтому единственное решение, о котором я могу думать, если не переписывать веб-приложение на каждом устройстве (для которого у нас нет ресурсов), - это подключить беспроводной сервер с батарейным питанием и иметь все устройства (iOS, Android, OS X, Windows, Linux) подключитесь к нему.
Проблема в том, что ИТ-персонал не может быть рядом, чтобы поддерживать его все время. Это означает, что он должен быть безумно простым в настройке и стабильным даже в менее чем оптимальных условиях (например, при возможном сбое питания или неправильном завершении работы).
Я настроил множество серверов веб-приложений, но я всегда отслеживаю процессы загрузки и перезагрузки, чтобы исправить возникающие проблемы, чего я не могу сделать в этом случае.
Мне было интересно, можно ли этого достичь с помощью приличного ноутбука, простой конфигурации сервера (на каком-то дистрибутиве Linux, предпочтительно Ubuntu или Centos) и готовой точки беспроводного доступа или требуется что-то ближе к встроенному серверу с настраиваемым собранным оборудованием и основные модификации программного обеспечения (например, написание заказного избыточного программного обеспечения)? Есть ли какие-нибудь пакеты, помогающие добиться такой стабильности?
Ваше приложение должно писать? Загрузка ноутбука с Linux с компакт-диска с предварительно настроенным hostap и вашим приложением на жестком диске, установленном только для чтения, должна быть довольно стабильной и надежной. Если хранилище должно быть доступно для чтения и записи, большинство современных журналируемых файловых систем устойчивы к сбоям. В любом случае у вас должна быть возможность настроить дешевый компьютер для того, чтобы делать то, что вам нужно.
Существуют инструменты, которые могут помочь, например, в создании пользовательских live CD для Linux. [1] [2]