No description
  • Elixir 73.2%
  • HTML 14.7%
  • CSS 6.8%
  • Dockerfile 3.7%
  • JavaScript 1.4%
  • Other 0.1%
Find a file
JasterV b6ec2646c2 ci: go back to docker-buildx plugin 6.0.3
Codeberg's Woodpecker only grants privileged mode to an allowlist of
plugin tags. 6.1.2 is not on it, so pipeline #22 was rejected before
running any step.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-28 14:40:50 +01:00
.woodpecker ci: go back to docker-buildx plugin 6.0.3 2026-10-28 14:40:50 +01:00
assets chore(deps): update Phoenix and all dependencies to their latest versions 2026-10-28 14:28:50 +01:00
config chore(deps): update Phoenix and all dependencies to their latest versions 2026-10-28 14:28:50 +01:00
lib refactor!: serve static landing pages without Ash, LiveView or database 2026-10-28 13:53:20 +01:00
priv/static refactor!: serve static landing pages without Ash, LiveView or database 2026-10-28 13:53:20 +01:00
rel/overlays/bin refactor!: serve static landing pages without Ash, LiveView or database 2026-10-28 13:53:20 +01:00
test refactor!: serve static landing pages without Ash, LiveView or database 2026-10-28 13:53:20 +01:00
.credo.exs refactor: make phone number optional (#9) 2026-01-15 15:57:54 +01:00
.dockerignore feat: setup for fly.io deployment 2026-01-13 13:57:52 +01:00
.formatter.exs refactor!: serve static landing pages without Ash, LiveView or database 2026-10-28 13:53:20 +01:00
.gitignore Setup first public version of the project 2026-01-10 19:03:02 +01:00
AGENTS.md docs: describe the static site 2026-10-28 13:56:21 +01:00
CLAUDE.md docs: describe the static site 2026-10-28 13:56:21 +01:00
Dockerfile build: move to Elixir 1.20.4 and Erlang/OTP 29.1.2 2026-10-28 14:33:47 +01:00
LICENSE.md Setup first public version of the project 2026-01-10 19:03:02 +01:00
mix.exs build: move to Elixir 1.20.4 and Erlang/OTP 29.1.2 2026-10-28 14:33:47 +01:00
mix.lock chore(deps): update Phoenix and all dependencies to their latest versions 2026-10-28 14:28:50 +01:00
README.md build: move to Elixir 1.20.4 and Erlang/OTP 29.1.2 2026-10-28 14:33:47 +01:00
yamlfmt.yml Setup first public version of the project 2026-01-10 19:03:02 +01:00

SpazioSolazzo

Spazio Solazzo is a cultural space in the heart of Palermo where people around the world gather to work, meet or play music.

Spazio Solazzo is managed by the Caravanserai cultural association and is found next to the Mojo Coliving project, which also makes part of Caravanserai.

This project is the website of Spazio Solazzo: a landing page plus one page for each of its three spaces:

  • Arcipelago, a coworking space where people can work and share during the day.
  • Media room, a meeting room that people and companies can use for their own meetings.
  • Hall, a music jam space that single musicians and bands can use for their rehearsals and other musical projects.

Bookings are paused for now, so the website is fully static: no database, no user accounts and no emails. The booking system that used to run here is kept in the archive/booking-system branch (also tagged as booking-system-final), ready to come back if bookings open again.

Development

This site is built with Elixir and the Phoenix web framework.

Every page is a controller action that renders a HEEx template, and the data of each space lives in the SpazioSolazzo.Spaces module.

Setup Phoenix project

You'll need Elixir 1.20 and Erlang/OTP 27 or newer installed in your system. CI and the release image use Elixir 1.20.4 on Erlang/OTP 29.1.2.

Download the dependencies and build the assets with:

mix setup

Now you should be ready to run the tests:

mix test

Or to run the compiler, formatter, tests, credo and more:

mix precommit

Now, to start your Phoenix server:

  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:8080 from your browser and you're ready to go!

Deployment

The Dockerfile builds a release that only needs these environment variables:

  • SECRET_KEY_BASE: generate one with mix phx.gen.secret.
  • PHX_HOST: the public host name of the site.
  • PORT: the port to listen on (defaults to 8080).

License

Copyright 2026 Victor Martinez Montané

Licensed under the Apache License, Version 2.0 (the "License"), subject to the Commons Clause License Condition v1.0. You may not use this file except in compliance with the License.

See the LICENSE file for details.