funkwhale merge requestshttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests2022-11-12T23:20:06Zhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1384Draft: deploy: add Caddyfile template2022-11-12T23:20:06ZJanekDraft: deploy: add Caddyfile templateRelated issue: #1585 <!-- it's okay to have no issue for small changes -->
Adds a Caddy config, based on nginx.
The double-commented lines still need to be translated.
I am stopping here and moving to nginx for now, but wanted to docum...Related issue: #1585 <!-- it's okay to have no issue for small changes -->
Adds a Caddy config, based on nginx.
The double-commented lines still need to be translated.
I am stopping here and moving to nginx for now, but wanted to document the past work for other ambitious Caddy users.https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1371Update uvicorn to version 0.15.02021-10-21T08:29:41ZGeorg KrauseUpdate uvicorn to version 0.15.0https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1338Resolve "Update click"2021-10-21T08:28:23ZGeorg KrauseResolve "Update click"Closes #1515Closes #15151.2.0https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1345Draft: Resolve "Update django-allauth"2021-10-21T08:27:25ZGeorg KrauseDraft: Resolve "Update django-allauth"Closes #1518Closes #15181.2.0https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1381Only animate progress when playing2021-10-21T08:30:58ZGeorg KrauseOnly animate progress when playingCloses #1381Closes #13811.2.0Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1390Draft: Lets play2021-10-20T21:51:56ZJuniorJPDJDraft: Lets playTEST, DONT MERGETEST, DONT MERGEhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1389Draft: Kek2021-10-20T21:40:56ZJuniorJPDJDraft: KekTEST, DONT MERGETEST, DONT MERGEhttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1284WIP: Increase update frequency of track progress bar2021-09-27T05:01:33ZTony WasserkaWIP: Increase update frequency of track progress bar(Not too) naive attempt at addressing #1381.
Currently when playing back common audio tracks (length ~3 minutes) at a monitor resolution of 1920x1080 at 60 Hz, the progress bar will jump in steps of 10 pixels. Shorter tracks will jump e...(Not too) naive attempt at addressing #1381.
Currently when playing back common audio tracks (length ~3 minutes) at a monitor resolution of 1920x1080 at 60 Hz, the progress bar will jump in steps of 10 pixels. Shorter tracks will jump even further, since the update frequency is fixed to 1 second.
This MR changes the track progress bar to update at the display frequency, and less often only when it'd move forward by less than a pixel. The expression `Math.min(60, 1920 / this.duration)` gives us this behavior, but is hardcoded against 1080p@60Hz displays, hence updating too rarely on high end displays (4K/120Hz) and too often on phones.
Suggestions for making this resolution-independent are welcome :)
Further to the increased update frequency, player.js was rounding the track progress to 0.1% duration steps, which caused further jumpiness.
TODO:
- [ ] Make frequency updates resolution-agnostic
This Merge Request includes:
- [ ] Tests
- [x] A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)1.2.0Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1372Docker in docker2021-09-01T09:14:19ZMicha Gläß-StöckerDocker in dockermake the all new and fancy docker-in-docker image building work (hopefully :D)make the all new and fancy docker-in-docker image building work (hopefully :D)https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1359Version bump and changelog for 1.1.4 on develop2021-08-10T20:19:39ZJuniorJPDJVersion bump and changelog for 1.1.4 on develop@georgkrause forgot to bump on develop after doing bugfix releae@georgkrause forgot to bump on develop after doing bugfix releaehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1327Document log level2021-07-30T13:10:16ZPhilipp WolferDocument log levelTo debug some issue we needed to figure out how to set the log level to debug mode. This was not documented and needed digging into the configuration files.
To make this easier this MR adds the LOGLEVEL environment variable to the sampl...To debug some issue we needed to figure out how to set the log level to debug mode. This was not documented and needed digging into the configuration files.
To make this easier this MR adds the LOGLEVEL environment variable to the sample .env file and also documents it in the troubleshooting docs.1.1.3Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1348Fix typo2022-03-09T16:34:21ZGhost UserFix typoHi, I found a typo in Japanese translation, and fixed it.
Could you take a look?Hi, I found a typo in Japanese translation, and fixed it.
Could you take a look?https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1334Update locales.js2021-07-07T14:07:56Zvachan-makerUpdate locales.jshttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1331Resolve "Update pyld"2021-06-30T11:39:09ZGeorg KrauseResolve "Update pyld"Closes #1434Closes #14341.2.0Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1324Create Recently added radio2021-06-09T11:11:14ZpetitminionCreate Recently added radioclose #1390close #1390https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1304Add Linting2021-05-28T09:30:55ZrrrnldAdd LintingTodos:
- [x] Configure [standard](https://standardjs.com/) via eslint
- [x] Configure eslint to be able to lint vuejs
- [x] Provide `npm run lint` to lint changed and added files per commit
- [ ] ~~Configure CI pipeline~~
- [x] Split li...Todos:
- [x] Configure [standard](https://standardjs.com/) via eslint
- [x] Configure eslint to be able to lint vuejs
- [x] Provide `npm run lint` to lint changed and added files per commit
- [ ] ~~Configure CI pipeline~~
- [x] Split linting from running tests (`vue-cli-service test:unit` runs both)1.2.0Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1319Fixes #14812021-05-23T17:25:53ZjovuitFixes #1481- Fixes #1481
- Changelog fragment
- Minimal changes in instance config doc (typos, wording...)- Fixes #1481
- Changelog fragment
- Minimal changes in instance config doc (typos, wording...)https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1217WIP: Compose for multi-container installation refactorized2021-05-13T04:03:48ZMeliurwenWIP: Compose for multi-container installation refactorizedRelated issue: `None`
This Merge Request includes:
- [ ] Tests
- [ ] A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)
## Why
The official docker-compose works, but is written in some very...Related issue: `None`
This Merge Request includes:
- [ ] Tests
- [ ] A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)
## Why
The official docker-compose works, but is written in some very questionable way;
creating serious issues in security, portability, modularity, readability and
maintenability of the entire stack. The installation is also not automated, but
requires extra steps (excluding configuration that doesn't count) to initialize
for the first time the instance.
## What changed
There has been a **_lot_** of changes, I will list the most notable ones:
### Network
+ **Before:** _(see [the appendix](###Network-Before))_
+ the containers were all under the same network which gave them internet access;
+ the `api` and `nginx` (the reverse-proxy) services were exposing to the public (using the `port` directive), respectively the `5000/tcp` and `80/tcp` ports;
+ the ports of `postgres` and `redis` were not documented (no `expose` directive used).
+ **Now:** _(see [the appendix](###Network-Now))_
+ There are _three_ distinct networks with precise purposes:
1. An internal network (no Internet access) containing all the services;
2. A network with Internet access with only the services that _really_ need it, namely: `api` and `celeryworker`;
if you want the whole app without internet access (but still reachable via web browser) set `NO_INTERNET_ACC` to `true`;
3. An optional external network to hook the `nginx` service only (in case you have a main reverse-proxy on your server).
+ the `api` and `nginx` (the reverse-proxy) services no longer expose their ports to the public, they are only documented with the `expose` directive;
+ the ports of `postgres` and `redis` services are now documented with the `expose` directive.
### Environment variables
> **Info:** read [this](https://docs.docker.com/compose/env-file/) and [this](https://docs.docker.com/compose/compose-file/#env_file) on the official Docker docs to understand the difference between `.env` file and env files imported with `env_file`.
+ **Before:**
+ All the environment variables for all services were mixed together inside the same `*.env` file (`.env`);
+ The `.env` file (which is automatically loaded by Docker Compose to be used within the `.yml` file), is also directly injected in all serivices with the `env_file` directive, exposing information to services that doesn't (and shouldn't) need it.
+ **Now:**
+ The environment variables are now separated in different files depending on the service or set of services that does need them; the `.env` file now has only variables concerning the configuration at the _stack level_, not service, except for the `FUNKWHALE_HOSTNAME` variable which is passed inside the containers via the `environment` directive.
+ The `env_file` is now used only when needed and import `*.env` files containing variables only needed for the target service.
### Other
+ Configurable paths for the volumes mounting point **_inside_** the containers has been removed, it's something that has no sense to exist and unnecessarily complicate things.
+ Has been added the possibility to configure the `restart` and `container_name` directive on all the containers.
+ Has been added the possibility to configure the **_tag_** on all services and **_image_** on some (`nginx`, `postgres`, `redis`).
+ In the `funkwhale.template` has been removed all the unnecessary variables and replaced with static paths which reflects the static volume mountpoints I set for the service.
+ The `funkwhale_proxy.conf` and `funkwhale.template` has been moved to a dedicated subfolder called `nginx`.
+ In case the system administrator has intention to hook the `nginx` service to the network of its _main_ reverse-proxy which happens to have a companion (for example [docker-gen](https://github.com/jwilder/docker-gen)) I've set some variables with dummy values already in the `nginx.env` file.
+ The directives in the `docker-compose.yml` file now are no longer sorted randomly; the order is the same for all and follows a criteria that (arguably) makes more sense.
+ Except for `DJANGO_SECRET_KEY`, `FUNKWHALE_HOSTNAME` and `REVERSE_PROXY_NETWORK` which are mandatory variables to manually set, all the optional variables are left empty in the `*.var` files by default and has a correspondent default value defined in the `docker-compose.yml` file (except for `funkwhale.env`).
+ `postgres` service image tag has been upgraded from `11` to `12.4` and `redis` from to `5` to `6`.
## What Didn't Change
+ The overall stack structure remained the same, with the same container images.
+ The name of the services (but they should be changed to a more generic ones,
like: `web`, `api`, `db`, `cache`, etc...).
+ The extra manual steps necessary to initialize for the first time the app
+ The extra manual steps necessary to partially initialize the database in case
to upgrade to a new version (tables or columns has been added/removed)
+ The extra manual steps in case of bump to a new version of the service that is
not backward compatible (for example posgres likes to break compatibility at every
major release).
## Appendix
### Network Before
![network-before](/uploads/717be8a4b7f6856fd630ab55e91282dd/network-before.png)
### Network Now
![network-now](/uploads/493d866281e9dcbf876cfb721d408f7e/network-now.png)https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1305Sanitize remote tracks' saving locations with slashes on their names2021-05-09T15:52:58ZblopwareSanitize remote tracks' saving locations with slashes on their namesRelated issue: #1435 <!-- it's okay to have no issue for small changes -->
This Merge Request includes:
- [ ] Tests
- [X] A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)Related issue: #1435 <!-- it's okay to have no issue for small changes -->
This Merge Request includes:
- [ ] Tests
- [X] A changelog fragment (cf https://docs.funkwhale.audio/contributing.html#changelog-management)1.1.2Georg KrauseGeorg Krausehttps://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1310Merge branch '1160-systemd-fix' into 'develop'2021-05-01T15:18:20ZGeorg KrauseMerge branch '1160-systemd-fix' into 'develop'Resolve "funkwhale-worker.service error option --concurrency"
Closes #1160
See merge request funkwhale/funkwhale!1296
(cherry picked from commit 31413fe6316b5b993e3193152764d9febf11f66d)
d3fdce07 Correctly set default value in system...Resolve "funkwhale-worker.service error option --concurrency"
Closes #1160
See merge request funkwhale/funkwhale!1296
(cherry picked from commit 31413fe6316b5b993e3193152764d9febf11f66d)
d3fdce07 Correctly set default value in systemd unit
942d0d14 Add changelog fragment