Minimum system requirements:
- A dedicated (virtual) server running Debian 12
- 2 GB of RAM
- 50 GB of disk space
Recommended system requirements:
- A dedicated (virtual) server running Debian 12
- 8 GB of RAM
- 200 GB of disk space
- 4 dedicated CPU cores
The recommended requirements would enable:
- Faster deployment of updates when using the server to do in-place application builds.
- Shorter student wait times for test results.
- The ability to test student code under multi-core execution, including parellel speedup and concurrent correctness.
Partial system package dependencies:
sudo apt install docker.io docker-buildx graphicsmagick libipc-system-simple-perl
System user must be added to docker group.
Erlang, Elixir, and NodeJS need to be installed somehow. System packages from Debian repos are likely to provide the best automatic update behavior.
Install asdf: https://github.com/asdf-vm/asdf
Use asdf to install latest erlang, elixir, node.
Remember to install build deps for erlang as listed in the asdf plugin.
Install tmptmptfs:
- Install rustup
- In support/tmptmtpfs do cargo build
- Then run sudo ./install.sh
Install dev deps:
sudo apt install inotify-tools
Install postgresql:
sudo apt install postgresql-all postgresql-client libpq-dev
Create dev user:
user$ sudo su - postgres
postgres$ createuser -d -P inkfish
password: oobeiGait3ie
Upgrade to Phx 1.6: https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b
- Transition from .html.eex to .html.heex templates
- Move from webpack to esbuild
To start your Phoenix server:
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Install Node.js dependencies with
npm install
inside theassets
directory - Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000
from your browser.
Ready to run in production? Please check our deployment guides.
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix
- Initial time for date/time.