{{ $t("Loading comments…") }}
-diff --git a/.dockerignore b/.dockerignore index bf9782836..c1a60d799 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,6 +15,5 @@ Makefile README.md SECURITY.md ssh_match_hostname -support .js/package-lock.json js/node_modules \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0dfb27c4..2b386e9a8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -184,7 +184,7 @@ pages: - mkdir -p /kaniko/.docker - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json script: - - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/docker/production/Dockerfile --destination $DOCKER_IMAGE_NAME --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP --build-arg CI_COMMIT_TAG=$CI_COMMIT_TAG + - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/docker/production/Dockerfile --destination $DOCKER_IMAGE_NAME --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP build-docker-master: <<: *docker diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index cb46be822..000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,774 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## 1.1.0 - 31-03-2021 - -This version introduces a new way to install and host Mobilizon : Elixir releases. This is the new default way of installing Mobilizon. Please read [UPGRADE.md](./UPGRADE.md#upgrading-from-10-to-11) for details on how to migrate to Elixir binary releases or stay on source install. - -### Added - -- **Add a group activity logbook** -- **Possibility for user to define a location in their settings to get close events** -- **Support for Elixir releases and runtime.exs, allowing to change configuration without recompiling** -- Support for Sentry -- Added support for custom plural rules on front-end (only Gaelic supported for now) -- Added possibility to bookmark search by location through geohash -- Add ENV parameter to allow Docker users to specify the IP which Mobilizon listens on -- Add instance-wide ICS & Atom feeds of public events (disabled by default) -- Add user and profile secret (tokened) feeds -- Runit configuration files - -### Changed - -- Prune done background jobs -- Improved search form -- Improved backend error page -- Added a confirmation step before deleting a conversation -- The default configuration for Mobilizon now listens only on the local interface -- Creating an event from the group page configures the event creation interface with the group as organizer -- Only provide executables for unix - -### Removed - -- Support for Elixir versions < 1.11 - -### Fixes - -- Fixed editing a group discussion -- Fixed accessing terms and privacy pages -- Fixed refreshing only groups which are stale -- Fixed success message when validating group follower -- Fixed formatted dates using system locale instead of browser/Mobilizon's locale -- Fixed federating draft status -- Fixed group draft posts being sent to followers -- Fixed detecting membership status on group page -- Fixed admin language selection -- Fixed geospatial configuration only being evaluated at compile-time, not at runtime -- Handle ActivityPub Fetcher returning text that's not JSON -- Fix accessing a group profile when not a member -- Fixed accessing the homepage with no location setting defined -- Fixed location field not showing in preferences if setting not already set -- Fixed lasts events published order on the homepage -- Fixed a typo in range/radius showing the wrong radius for close events on homepage -- Fixed hashtags disappearing from content -- Fixed close events order -- Fixed group posts edition -- Fixed validating new email with bad token -- Fixed `.well-known/host-meta` not being accessible with correct `Accept` header -- Fixed posts default publish date overriding remote ones -- Fixed getting a page description in some cases when creating a resource -- Fixed getting metadata from tweets when creating a resource -- Fixed bad handling of duplicate usernames -- Fixed handling of bad URIs to proxify -- Fixed creating discussion with title containing only spaces -- Fixed registering new user account with same email as unconfirmed -- Fixed handling changing default actor unlogged -- Fixed handling getting organized events from an actor when not authorized -- Fixed empty comments being allowed -- Fixed the number of group followers per page -- Fixed issue when selecting a location in your settings -- Fixed group feeds not showing when you are a member of the group -- Fixed handling feeds with unknown format -- Fixed a couple of issues when viewing a remote group -- Fixed issues with the attributed organizer when creating an event -- Fixed HTML entities not being decoded in icalendar exports and feeds -- Fixed instance follows being auto-approved -- Fixed parsing the IP from the MOBILIZON_INSTANCE_LISTEN_IP env variable for Docker -- Fixed release startup in Docker container - -### Translations - -- Arabic -- Belarusian -- Bengali -- Catalan -- Chinese (Traditional) -- English -- French -- Gaelic **New!** -- Galician -- German -- Hungarian -- Italian -- Occitan -- Polish -- Portuguese (Brazil) -- Russian -- Slovenian -- Spanish - -## 1.1.0-rc.3 - 30-03-2021 - -### Changed - -- Only provide executables for unix - -### Fixed - -- Fixed parsing the IP from the MOBILIZON_INSTANCE_LISTEN_IP env variable for Docker -- Fixed release startup in Docker container - -## 1.1.0-rc.2 - 30-03-2021 - -### Added - -- Runit configuration files - -### Fixed - -- Fixed the number of group followers per page -- Fixed issue when selecting a location in your settings -- Fixed group feeds not showing when you are a member of the group -- Fixed handling feeds with unknown format -- Fixed a couple of issues when viewing a remote group -- Fixed issues with the attributed organizer when creating an event -- Fixed HTML entities not being decoded in icalendar exports and feeds -- Fixed instance follows being auto-approved - -### Translations - -- Galician -- German -- Hungarian -- Russian -- Spanish -## 1.1.0-rc.1 - 29-03-2021 - -### Added - -- Add ENV parameter to allow Docker users to specify the IP which Mobilizon listens on -- Add instance-wide ICS & Atom feeds of public events (disabled by default) -- Add user and profile secret (tokened) feeds - -### Changed - -- The default configuration for Mobilizon now listens only on the local interface -- Creating an event from the group page configures the event creation interface with the group as organizer - -### Fixed - -- Fixed hashtags disappearing from content -- Fixed close events order -- Fixed group posts edition -- Fixed validating new email with bad token -- Fixed `.well-known/host-meta` not being accessible with correct `Accept` header -- Fixed posts default publish date overriding remote ones -- Fixed getting a page description in some cases when creating a resource -- Fixed getting metadata from tweets when creating a resource -- Fixed bad handling of duplicate usernames -- Fixed handling of bad URIs to proxify -- Fixed creating discussion with title containing only spaces -- Fixed registering new user account with same email as unconfirmed -- Fixed handling changing default actor unlogged -- Fixed handling getting organized events from an actor when not authorized -- Fixed empty comments being allowed - -### Translations - -- Gaelic -- Galician -- German -- Hungarian -- Italian -- Polish -- Portuguese (Brazil) -- Russian -- Slovenian -- Spanish - -## 1.1.0-beta.6 - 17-03-2021 - -### Fixed -- Fixed a typo in range/radius showing the wrong radius for close events on homepage - -## 1.1.0-beta.5 - 17-03-2021 - -### Fixed -- Fixed a typo in range/radius preventing close events from showing up - -## 1.1.0-beta.4 - 17-03-2021 - -### Fixed - -- Fixed accessing the homepage with no location setting defined -- Fixed location field not showing in preferences if setting not already set -- Fixed lasts events published order on the homepage - -## 1.1.0-beta.3 - 16-03-2021 - -### Fixed -- Handle ActivityPub Fetcher returning text that's not JSON -- Fix accessing a group profile when not a member - -## 1.1.0-beta.2 - 16-03-2021 - -### Fixed -- Fixed geospatial configuration only being evaluated at compile-time, not at runtime - -### Translations -- Slovenian - -## 1.1.0-beta.1 - 10-03-2021 - -This version introduces a new way to install and host Mobilizon : Elixir releases. This is the new default way of installing Mobilizon. Please read [UPGRADE.md](./UPGRADE.md#upgrading-from-10-to-11) for details on how to migrate to Elixir binary releases or stay on source install. - -### Added - -- **Add a group activity logbook** -- **Possibility for user to define a location in their settings to get close events** -- **Support for Elixir releases and runtime.exs, allowing to change configuration without recompiling** -- Support for Sentry -- Added support for custom plural rules on front-end (only Gaelic supported for now) -- Added possibility to bookmark search by location through geohash - -### Changed - -- Prune done background jobs -- Improved search form -- Improved backend error page -- Added a confirmation step before deleting a conversation - -### Removed - -- Support for Elixir versions < 1.11 - -### Fixes - -- Fixed editing a group discussion -- Fixed accessing terms and privacy pages -- Fixed refreshing only groups which are stale -- Fixed success message when validating group follower -- Fixed formatted dates using system locale instead of browser/Mobilizon's locale -- Fixed federating draft status -- Fixed group draft posts being sent to followers -- Fixed detecting membership status on group page -- Fixed admin language selection - -### Translations - -- Arabic -- Belarusian -- Bengali -- Catalan -- Chinese (Traditional) -- English -- French -- Gaelic -- Galician -- German -- Hungarian -- Italian -- Occitan -- Portuguese (Brazil) -- Slovenian -- Spanish -- Russian - -## 1.0.7 - 27-02-2021 - -### Fixed - -- Fixed accessing group event unlogged -- Fixed broken redirection with Webfinger due to strict connect-src -- Fixed editing group discussions -- Fixed search form display -- Fixed wrong year in CHANGELOG.md - -## 1.0.6 - 04-02-2021 - -### Added - -- Handle frontend errors nicely when mounting components - -### Fixed - -- Fixed displaying a remote event when organizer is a group -- Fixed sending events & posts to group followers -- Fixed redirection after deleting an event - -## 1.0.5 - 27-01-2021 - -### Fixed - -- Fixed duplicate entries in search with empty search query - -## 1.0.4 - 26-01-2021 - -### Added - -- **Added interface to approve/reject group follow requests** -- **Added UI for group public RSS (Atom) / ICS feeds** -- **Attach ICS files representing the event to notifications and participations emails** -- Add initial support to build Elixir releases -- Add some CSP & other security headers - -### Changed - -- Added `
- Developed with ♥ by Framasoft -
- -- - - -
- -## Introduction - -Mobilizon is a tool designed to create platforms for managing communities and events. Its purpose is to help as many people as possible to free themselves from Facebook groups and events, from Meetup, etc. - -The Mobilizon software is under a Free licence, so anyone can host a Mobilizon server, called an instance. These instances may federate with each other, so any person with an account on _ExampleMeet_ will be able to register to an event created on _SpecimenEvent_. - -## ✨ Features - -### 👤 Identities - -Do you want to separate your family gatherings from your associative activities or militant mobilizations? -You will have the power to create multiple identities from the same account, like so many social masks. - ---- - -### 📅 Events and groups - -Create your events and make sure they will appeal to everybody. -Privacy settings and participants roles are supported. -There's no lock-in, you can interact with the event without registration. - ---- - -## Contributing - -We appreciate any contribution to Mobilizon. Check our [CONTRIBUTING](CONTRIBUTING.md) file for more information. - -## Links - -### Learn more - -- 🌐 Official website: [https://joinmobilizon.org](https://joinmobilizon.org) -- 🔢 Pick an instance [https://mobilizon.org](https://mobilizon.org) -- 💻 Source: [https://framagit.org/framasoft/mobilizon](https://framagit.org/framasoft/mobilizon) -- 📜 Documentation [https://docs.joinmobilizon.org](https://docs.joinmobilizon.org) - -### Discuss - -- 💬 Element/Matrix: [https://matrix.to/#/#Mobilizon:matrix.org](https://matrix.to/#/#Mobilizon:matrix.org) -- 🗣️ Forum: [https://framacolibri.org/c/mobilizon](https://framacolibri.org/c/mobilizon) - -### Follow - -- 🐘 Mastodon: [https://framapiaf.org/@mobilizon](https://framapiaf.org/@mobilizon) -- 🐦 Twitter [https://twitter.com/@joinmobilizon](https://twitter.com/@joinmobilizon) - -Note: Most federation code comes from [Pleroma](https://pleroma.social), which is `Copyright © 2017-2018 Pleroma Authors - AGPL-3.0`. - -## ❤️ Supports of our crowdfunding - ---- - -We have run [a crowdfunding campaign](https://framablog.org/2019/05/14/mobilizon-lets-finance-a-software-to-free-our-events-from-facebook/) to pave the road to the version 1.0.0 of Mobilizon. Thanks to everyone who pitched in and shared the news around! The list of [everyone who donated is available here](https://joinmobilizon.org/hall-of-fame). diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 6ca34ad69..000000000 --- a/SECURITY.md +++ /dev/null @@ -1,49 +0,0 @@ -[Mobilizon](https://joinmobilizon.org) takes security, privacy and user control seriously, and we want to put them front and centre of our project. - -This document outlines security procedures and general policies for the Mobilizon project. -Framasoft, the Mobilizon maintainer team and community take all security bugs in Mobilizon seriously. Thank you for improving the security of Mobilizon. We appreciate your efforts and responsible disclosure and will make every effort to acknowledge your contributions. - -### Goals - -- Mobilizon users can understand the distinctions between public data and private data/metadata on Mobilizon. - -- Users always know where their private data/metadata resides, who has access to it, and are able to access, export, and delete it. - -- Protect private user data/metadata, not just from hackers but also (as much as is possible) from other users, instance admins, community moderators, and external applications. - -- Secure from malicious creation, alteration or deletion of public data. - -- GDPR compliance. - -Framasoft is both a developer of open-source/free/libre self-hosted software, and a service provider with users in the European Union. As a result, we are putting user privacy, data sovereignty, and GDPR compliance into our security plans, including asking both the Framasoft community and outside hackers to review our approaches and implementations. - -### Challenges - -[Mobilizon](https://joinmobilizon.org) will be challenging to keep secure, as it is: - -- open source, both back-end and front-end - -- self-hosted by diverse organisations and individuals - -- federated (data is transmitted between different hosted instances) - -This means there are more attack surfaces compared to typical proprietary, centralised platforms, but also means that hackers and even users can review every part of Mobilizon and make sure that it works as expected. This should result in more secure software, and higher trust in the application and its ecosystem. - -### Responsible Disclosure Guidelines - -We are committed to working with security researchers to verify, reproduce, and respond to legitimate reported vulnerabilities. You can help us by following these simple guidelines: - -- Alert us about the vulnerability as soon as you become aware of it by emailing the lead maintainer at tcit+mobilizon@framasoft.org. -- Provide details needed to reproduce and validate the vulnerability and a Proof of Concept (PoC) as soon as possible -- Act in good faith to avoid privacy violations, destruction of data, and interruption or degradation of services -- Do not access or modify users’ private data, without explicit permission of the owner. Only interact with your own accounts or test accounts for security research purposes; -- Contact Framasoft or a maintainer of the Mobilizon project (or the instance admin) immediately if you do inadvertently encounter user data. Do not view, alter, save, store, transfer, or otherwise access the data, and immediately purge any local information upon reporting the vulnerability; -- The lead maintainer will acknowledge your email within 48 hours, and will send a more detailed response within 48 hours indicating the next steps in handling your report. After the initial reply to your report, the security team will endeavor to keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance. -- Give us time to confirm, determine the affected versions and prepare fixes to correct the issue before disclosing it to other parties (if after waiting a reasonable amount of time, we are clearly unable or unwilling to do anything about it, please do hold us accountable!) -- Please test against a local instance of the software, and refrain from running any Denial of Service or automated testing tools against Framasoft's (and our partners') infrastructure - -Note : Please report security bugs in third-party modules to the person or team maintaining the module. - -### Comments on this Policy - -If you have suggestions on how this process could be improved please submit a pull request. diff --git a/UPGRADE.md b/UPGRADE.md deleted file mode 100644 index 9e5d24b59..000000000 --- a/UPGRADE.md +++ /dev/null @@ -1,44 +0,0 @@ -# Upgrading from 1.0 to 1.1 - -The 1.1 version of Mobilizon brings Elixir releases support. An Elixir release is a self-contained directory that contains all of Mobilizon's code (front-end and backend), it's dependencies, as well as the Erlang Virtual Machine and runtime (only the parts you need). As long as the release has been assembled on the same OS and architecture, it can be deploy and run straight away. [Read more about releases](https://elixir-lang.org/getting-started/mix-otp/config-and-releases.html#releases). - -## Comparison -Migrating to releases means: -* You only get a precompiled binary, so you avoid compilation times when updating -* No need to have Elixir/NodeJS installed on the system -* Code/data/config location is more common (/opt, /var/lib, /etc) -* More efficient, as only what you need from the Elixir/Erlang standard libraries is included and all of the code is directly preloaded -* You can't hardcode modifications in Mobilizon's code - -Staying on source releases means: -* You need to recompile everything with each update -* Compiling frontend and backend has higher system requirements than just running Mobilizon -* You can change things in Mobilizon's code and recompile right away to test changes - -## Releases -If you want to migrate to releases, [we provide a full guide](https://tcit.frama.io/documentation/administration/upgrading/source_to_release/). You may do this at any time. - -## Source install -To stay on a source release, you just need to check the following things: -* Rename your configuration file `config/prod.secret.exs` to `config/runtime.exs`. -* If your config file includes `server: true` under `Mobilizon.Web.Endpoint`, remove it. - ```diff - config :mobilizon, Mobilizon.Web.Endpoint, - - server: true, - ``` -* The uploads default directory is now `/var/lib/mobilizon/uploads`. To keep it in the previous `uploads/` directory, just add the following line to `config/runtime.exs`: - ```elixir - config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "uploads" - ``` - Or you may use any other directory where the `mobilizon` user has write permissions. -* The GeoIP database default directory is now `/var/lib/mobilizon/geo/GeoLite2-City.mmdb`. To keep it in the previous `priv/data/GeoLite2-City.mmdb` directory, just add the following line to `config/runtime.exs`: - ```elixir - config :geolix, databases: [ - %{ - id: :city, - adapter: Geolix.Adapter.MMDB2, - source: "priv/data/GeoLite2-City.mmdb" - } - ] - ``` - Or you may use any other directory where the `mobilizon` user has read permissions. \ No newline at end of file diff --git a/config/config.exs b/config/config.exs index c3919577f..08661877b 100644 --- a/config/config.exs +++ b/config/config.exs @@ -25,9 +25,9 @@ config :mobilizon, :instance, allow_relay: true, federating: true, remote_limit: 100_000, - upload_limit: 10_000_000, - avatar_upload_limit: 2_000_000, - banner_upload_limit: 4_000_000, + upload_limit: 10_485_760, + avatar_upload_limit: 2_097_152, + banner_upload_limit: 4_194_304, remove_orphan_uploads: true, orphan_upload_grace_period_hours: 48, remove_unconfirmed_users: true, @@ -270,7 +270,7 @@ config :mobilizon, Oban, {Oban.Plugins.Cron, crontab: [ {"@hourly", Mobilizon.Service.Workers.BuildSiteMap, queue: :background}, - {"17 * * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background}, + {"17 4 * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background}, # To be activated in Mobilizon 1.2 # {"@hourly", Mobilizon.Service.Workers.CleanOrphanMediaWorker, queue: :background}, {"@hourly", Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker, queue: :background}, diff --git a/config/runtime.exs b/config/runtime.exs new file mode 100644 index 000000000..1dd2a4d4b --- /dev/null +++ b/config/runtime.exs @@ -0,0 +1,35 @@ +# Mobilizon instance configuration + +import Config + +config :mobilizon, Mobilizon.Web.Endpoint, + server: true, + url: [host: "mob.lan"], + http: [ + ip: {0, 0, 0, 0, 0, 0, 0, 1}, + port: 4000 + ], + secret_key_base: "TXEO1btWtIkar6DYi8fAeIj0Rw6VXPzEFgwugvyA0qD+45qTLt8o088BBDakcf59" + +config :mobilizon, Mobilizon.Web.Auth.Guardian, + secret_key: "FSiVN0xM6m194UMfW9lsj/o5vXYTkJjaFGLGKcbDfjSz5r7UE6e+tYAjhly70ZxG" + +config :mobilizon, :instance, + name: "moblan", + description: "Change this to a proper description of your instance", + hostname: "mob.lan", + registrations_open: false, + demo: false, + allow_relay: true, + federating: true, + email_from: "noreply@mob.lan", + email_reply_to: "noreply@mob.lan" + +config :mobilizon, Mobilizon.Storage.Repo, + adapter: Ecto.Adapters.Postgres, + username: "mobilizon", + password: "hnGe9CpuHffYU--_daUDEyRScKSU9abpTz0FhG2pYXQPyPWSPX8mnzo56wPNfesD", + database: "mobilizon_prod", + hostname: "localhost", + port: "5432", + pool_size: 10 diff --git a/docker-compose.test.yml b/docker-compose.test.yml deleted file mode 100644 index c88fe34bc..000000000 --- a/docker-compose.test.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: "3" - -services: - postgres: - restart: "no" - environment: - POSTGRES_DB: mobilizon_test - api: - restart: "no" - environment: - MIX_ENV: "test" - MOBILIZON_DATABASE_DBNAME: mobilizon_test - MOBILIZON_INSTANCE_HOST: mobilizon.test - command: "mix test" -volumes: - pgdata: - .: diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 8726415ba..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,45 +0,0 @@ -version: "3" - -services: - postgres: - container_name: mobilizon_db - restart: unless-stopped - image: postgis/postgis:13-3.0 - environment: - POSTGRES_PASSWORD: postgres - POSTGRES_DB: mobilizon_dev - volumes: - - pgdata:/var/lib/postgresql/data - api: - container_name: mobilizon_api - restart: unless-stopped - build: . - volumes: - - ".:/app" - ports: - - "4000:4000" - depends_on: - - postgres - environment: - MIX_ENV: "dev" - DOCKER: "true" - MOBILIZON_INSTANCE_NAME: My Mobilizon Instance - MOBILIZON_INSTANCE_HOST: mobilizon.me - MOBILIZON_INSTANCE_EMAIL: noreply@mobilizon.me - MOBILIZON_INSTANCE_REGISTRATIONS_OPEN: "true" - MOBILIZON_DATABASE_PASSWORD: postgres - MOBILIZON_DATABASE_USERNAME: postgres - MOBILIZON_DATABASE_DBNAME: mobilizon_dev - MOBILIZON_DATABASE_HOST: postgres - command: > - sh -c "cd js && - yarn install && - cd ../ && - mix deps.get && - mix compile && - mix ecto.create && - mix ecto.migrate && - mix phx.server" -volumes: - pgdata: - .: diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile index e047a4a3e..1f9155a4c 100644 --- a/docker/production/Dockerfile +++ b/docker/production/Dockerfile @@ -1,7 +1,7 @@ # First build the application assets -FROM node:14-alpine as assets +FROM node:16-alpine as assets -RUN apk add --no-cache python build-base libwebp-tools bash imagemagick ncurses +RUN apk add --no-cache python3 build-base libwebp-tools bash imagemagick ncurses COPY js . RUN yarn install \ @@ -23,6 +23,7 @@ COPY priv ./priv COPY config/config.exs config/prod.exs ./config/ COPY config/docker.exs ./config/runtime.exs COPY rel ./rel +COPY support ./support COPY --from=assets ./priv/static ./priv/static RUN mix phx.digest \ @@ -33,14 +34,13 @@ FROM alpine ARG BUILD_DATE ARG VCS_REF -ARG CI_COMMIT_TAG -ARG MOBILIZON_VERSION=${CI_COMMIT_TAG} LABEL org.opencontainers.image.title="mobilizon" \ org.opencontainers.image.description="Mobilizon for Docker" \ org.opencontainers.image.vendor="joinmobilizon.org" \ org.opencontainers.image.documentation="https://docs.joinmobilizon.org" \ org.opencontainers.image.licenses="AGPL-3.0" \ + org.opencontainers.image.source="https://framagit.org/framasoft/mobilizon" \ org.opencontainers.image.url="https://joinmobilizon.org" \ org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.created=$BUILD_DATE @@ -56,7 +56,7 @@ EXPOSE 4000 ENV MOBILIZON_DOCKER=true COPY --from=builder --chown=nobody:nobody _build/prod/rel/mobilizon ./ -RUN cp /releases/${MOBILIZON_VERSION}/runtime.exs /etc/mobilizon/config.exs +RUN cp /releases/*/runtime.exs /etc/mobilizon/config.exs COPY docker/production/docker-entrypoint.sh ./ ENTRYPOINT ["./docker-entrypoint.sh"] diff --git a/docker/tests/Dockerfile b/docker/tests/Dockerfile index 3054bc371..73f0d6c8c 100644 --- a/docker/tests/Dockerfile +++ b/docker/tests/Dockerfile @@ -1,9 +1,9 @@ FROM elixir:latest LABEL maintainer="Thomas Citharel{{ $t("Loading comments…") }}
-