Faits :
A.
A.a. A._, né en 1968, a été engagé le 1er juillet 2015 en qualité de secrétaire municipal par la Commune B._ (ci-après: Commune ou Municipalité). A compter du 1er juillet 2016, son salaire mensuel brut s'élevait à 10'000 fr. pour un taux d'occupation de 100%.
A.b. Concernant la durée du travail, l'art. 3 du contrat de travail prévoyait ce qui suit: « La durée normale de travail est de 42.5 heures par semaine (poste à 100%). La fonction de chef de service peut parfois nécessiter un horaire irrégulier. Le collaborateur est responsable de prendre ses dispositions afin de gérer d'une façon optimale son emploi du temps. A ce niveau de responsabilité, le collaborateur ne peut pas prétendre à être indemnisé pour d'éventuelles heures supplémentaires. A titre de compensation, l'employeur accorde au collaborateur une semaine de vacances supplémentaires. »
A.c. Début 2017, l'analyse des dossiers et du fonctionnement du secrétariat municipal a mis en lumière diverses carences. A._ s'est déterminé à ce sujet. Dans le cadre de sa surveillance régulière de la Commune, le Préfet a constaté le 23 mars 2017 certaines irrégularités. A la suite des séances des 21 et 27 mars 2017, la Municipalité a résilié le contrat de travail de A._ avec effet au 30 juin 2017. Dès le 18 avril 2017, A._ s'est mis en quête d'un emploi et a régulièrement offert ses services à des employeurs potentiels.
A.d. Au 30 juin 2017, le décompte des vacances et heures supplémentaires de A._ faisait état d'un solde d'heures supplémentaires de 537.45 heures. Les heures accomplies en sus de l'horaire de travail relevaient en partie d'une exigence de l'employeur, à l'exclusion de celles consacrées à des séances auxquelles A._ se rendait à bien plaire.
B.
B.a. Par demande du 8 mai 2018 auprès du Tribunal de prud'hommes de l'arrondissement de La Côte, A._ a conclu au paiement par la Commune de 30'000 fr. avec intérêts à 5% de l'an dès le 1er juillet 2017. Il demandait à être indemnisé pour atteinte à la personnalité et congé abusif, et réclamait le paiement de ses vacances non perçues ainsi que de ses heures supplémentaires. La Commune a conclu à l'irrecevabilité de la demande, et subsidiairement à son rejet.
Le tribunal de première instance a tenu deux audiences et a procédé à l'audition de plusieurs témoins. Par jugement du 1er juillet 2019, il a condamné la Commune à verser à l'employé une somme de 30'000 fr. bruts avec intérêt à 5 % l'an dès le 1er juillet 2017 aux titres de la rémunération d'un travail supplémentaire et d'un solde de vacances de 18 jours, ainsi qu'un montant de 5'000 fr. à titre de dépens. Les prétentions en indemnité pour licenciement abusif et atteinte à la personnalité n'ont pas été examinées, dès lors que le montant des conclusions était ainsi déjà atteint.
B.b. Par arrêt du 3 juin 2020, la Cour d'appel civile du Tribunal cantonal vaudois a partiellement admis l'appel interjeté par la Commune (chiffre I du dispositif); elle a réduit l'indemnité brute pour les heures supplémentaires et le droit aux vacances à 5'955 fr. 95 (chiffre II du dispositif) et a renvoyé la cause au tribunal de première instance afin qu'il se prononce sur les indemnités pour licenciement abusif et pour atteinte à la personnalité (chiffre III du dispositif).
C.
A._ interjette un recours en matière civile contre cet arrêt, en concluant principalement à sa réforme dans le sens de la confirmation du jugement de première instance. A titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'instance cantonale pour nouvelle décision.
La Commune conclut au rejet du recours et le tribunal cantonal s'est référé aux considérants de son arrêt. Les parties ont répliqué et dupliqué.

Considérant en droit :
1.
Le Tribunal fédéral examine d'office sa compétence (<ref-law>) et contrôle librement la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 1 p. 358).
1.1. Le recourant agit par la voie du recours en matière civile. La décision attaquée concerne cependant des rapports de travail de droit public et n'a pas été rendue en matière civile au sens de l'<ref-law>. La voie du recours en matière civile n'est dès lors pas ouverte en l'espèce. A lui seul, l'intitulé erroné d'un recours ne nuit cependant pas à son auteur, pour autant que les conditions de recevabilité du recours qui aurait dû être interjeté soient réunies et que le recours puisse ainsi être converti (<ref-ruling> consid. 1.2 p. 382; <ref-ruling> consid. 1.3 p. 296; <ref-ruling> consid. 1b p. 509 et les arrêts cités).
1.2. La voie du recours en matière de droit public selon les <ref-law> est en principe ouverte pour contester les décisions concernant les rapports de travail de droit public. La contestation d'espèce revêt une nature pécuniaire, de sorte que le motif d'exclusion de l'art. 83 let. g LTF n'entre pas en considération. La valeur litigieuse, déterminée par les conclusions demeurées litigieuses devant l'instance précédente (<ref-law>), dépasse le seuil de 15'000 fr. ouvrant la voie du recours en matière de droit public dans ce domaine (<ref-law>). Par ailleurs, la I re Cour de droit social est compétente pour connaître du litige (art. 34 let. h RTF). La conversion du recours est donc possible et l'acte déposé par le recourant peut être traité comme un recours en matière de droit public.
1.3. L'arrêt attaqué renvoie la cause au tribunal de première instance afin qu'il se prononce sur le sort des indemnités pour licenciement abusif et pour atteinte à la personnalité (chiffre III du dispositif). Il statue en revanche définitivement sur le montant dû pour les heures supplémentaires et le droit aux vacances (chiffre II du dispositif). Il s'agit d'une décision partielle puisque le sort de l'objet qui reste en cause est indépendant de celui des objets déjà tranchés (<ref-law>). Le recours, uniquement dirigé contre le chiffre II du dispositif, est recevable (cf. <ref-ruling> consid. 2.4 p. 398 s.; <ref-ruling> consid. 1.2.2 et 1.2.3 p. 217 s.; arrêt 8C_55/2010 du 6 août 2010, consid. 2.3.2 non publié à l'<ref-ruling>). Les autres conditions de recevabilité étant au surplus réunies (cf. art. 42, 82 let. a, 86 al. 1 let. d et 100 al. 1 LTF), il convient d'entrer en matière.
2.
2.1. Sauf dans les cas mentionnés à l'<ref-law>, la violation du droit cantonal ou communal ne peut pas être invoquée en tant que telle devant le Tribunal fédéral. Il est cependant possible de faire valoir que son application viole le droit fédéral, comme la protection contre l'arbitraire (art. 9 Cst.) ou d'autres droits constitutionnels (<ref-ruling> consid. 4.4.1 p. 112 s.). Le Tribunal fédéral examine de tels moyens uniquement s'ils sont formulés conformément aux exigences de motivation qualifiée prévues à l'<ref-law>, à savoir expressément soulevés et exposés de manière claire et détaillée (<ref-ruling> consid. 3.2 p. 579 et la référence).
Appelé à revoir l'interprétation d'une norme cantonale ou communale sous l'angle de l'arbitraire, le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs et en violation d'un droit certain. En revanche, si l'application de la loi défendue par l'autorité cantonale ne s'avère pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation en cause, cette interprétation sera confirmée, même si une autre solution - y compris préférable - paraît possible. En outre, pour qu'une décision soit annulée au titre de l'arbitraire, il ne suffit pas qu'elle se fonde sur une motivation insoutenable; encore faut-il qu'elle apparaisse arbitraire dans son résultat (<ref-ruling> consid. 7.1 p. 124).
2.2. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - notion qui correspond à celle d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2.3.1 p. 244; sur la notion d'arbitraire, cf. <ref-ruling> consid. 4.2 p. 516) - ou en violation du droit au sens de l'<ref-law> (<ref-law>). Si le recourant entend s'écarter des constatations de fait de l'autorité précédente, il doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> seraient réalisées et la correction du vice susceptible d'influer sur le sort de la cause (<ref-law>); à défaut, un état de fait divergent de celui de la décision attaquée ne peut pas être pris en compte (<ref-ruling> consid. 2 précité; <ref-ruling> consid. 5.2.2 p. 322).
3.
Le litige porte sur l'indemnité octroyée au recourant pour son droit aux vacances et le refus de dédommager ses heures supplémentaires.
3.1. Le contrat qui liait les parties est régi par le Règlement du personnel de la Municipalité B._ (ci-après: Règlement), à savoir une réglementation de droit public (art. 1 al. 3 et 8 du contrat). Selon l'art. 3 de ce Règlement, les collaborateurs sont engagés par un contrat de droit administratif; sont réservés les cas particuliers, faisant l'objet d'accords exprès, soumis exclusivement au droit privé. L'art. 4 du Règlement prévoit que les droits et les obligations des parties sont régis en priorité par le contrat signé, à défaut par le Règlement et, si celui-ci ne règle pas une question, par le code des obligations (<ref-law>), applicable à titre de droit public supplétif.
3.2. Aux termes de l'art. 2 al. 1 let. a de la loi fédérale sur le travail dans l'industrie, l'artisanat et le commerce du 13 mars 1964 (LTr; RS 822.11), cette loi ne s'applique en principe pas aux administrations fédérales, cantonales et communales. L'ordonnance désigne les établissements publics à assimiler aux administrations de la Confédération, des cantons et des communes, ainsi que les entreprises fédérales, cantonales et communales auxquelles la loi est applicable (art. 2 al. 2 LTr; cf. également art. 4, 4a et 7 de l'ordonnance 1 relative à la loi sur le travail du 10 mai 2000 [OLT 1; RS 822.111]).
4.
4.1. En l'espèce, le tribunal cantonal a retenu que le contrat entre les parties relevait du droit administratif, et non du droit privé. L'art. 3a LTr réservait certes l'application des dispositions relatives à la protection de la santé (art. 6, 35 et 36a LTr), à l'administration fédérale ainsi qu'aux administrations cantonales et communales (let. a); toutefois, les règles relatives aux horaires de travail et au travail supplémentaire n'en faisaient pas partie. Le tribunal cantonal en a conclu que les dispositions de la LTr sur le travail supplémentaire ne s'appliquaient pas en l'espèce et que les premiers juges avaient fondé à tort l'indemnisation du travail supplémentaire sur l'art. 13 LTr. En toute hypothèse, il a considéré que le secrétaire communal, au sommet de la hiérarchie municipale et au bénéfice d'une position privilégiée au sein du personnel, exerçait une « fonction dirigeante élevée » hors du champ d'application de la LTr (art. 3 let. d LTr et 9 OLT 1).
4.2. Le tribunal cantonal a ensuite relevé que le contrat excluait expressément l'indemnisation d'éventuelles heures supplémentaires. En outre, la rémunération du recourant, qui s'élevait à 10'000 fr. payable treize fois par année, était suffisamment importante pour comprendre une rémunération forfaitaire des heures supplémentaires. Cela valait d'autant plus qu'en compensation, l'employeur accordait au collaborateur une semaine de vacances supplémentaire et que celui-ci bénéficiait d'un horaire de travail flexible et pouvait organiser son emploi du temps à sa guise; il pouvait notamment prendre une demi-journée de congé sans faire de demande particulière. Par ailleurs, une partie des heures supplémentaires invoquées concernait des séances auxquelles l'employé se rendait à bien plaire et qui n'étaient pas exigées par l'employeur. Il n'apparaissait finalement pas que le cahier des charges ou les tâches confiées auraient exigé un nombre d'heures supplémentaires contraire aux prévisions des parties, ce qui excluait l'application de la théorie de l'imprévision et l'octroi d'une indemnité sur cette base. Ainsi, les heures accomplies ne pouvaient pas être indemnisées à titre d'heures supplémentaires.
4.3. Concernant le droit aux vacances, le tribunal cantonal a rappelé qu'en cas de maladie ou d'accident pendant le délai de congé, il n'y avait pas lieu de tenir compte de cette période si l'atteinte à la santé empêchait le repos et la détente du travailleur et le rendait incapable d'exercer son droit aux vacances. En l'espèce, le recourant s'était trouvé en situation d'incapacité jusqu'au 21 avril 2017. Le délai de congé étant arrivé à échéance le 30 juin 2017, la durée de la libération de travailler se montait à 51 jours au total. Le tribunal cantonal a par ailleurs retenu un solde de vacances de 26 jours, sur la base des constatations des premiers juges. En application de la jurisprudence, il a alors imputé 15 jours de vacances sur la période de libération de travailler de 51 jours, à savoir un nombre se situant dans une fourchette entre un quart et un tiers de la période de libération. Il a ainsi conclu que l'intimée devait indemniser le recourant à hauteur de 11 jours de vacances (26 - 15), soit un montant brut de 5'955 fr. 95.
5.
5.1. Dans un premier grief, le recourant reproche au Tribunal cantonal de ne pas avoir comptabilisé dans son solde de vacances la semaine supplémentaire par année à laquelle il avait droit à titre de compensation pour les heures supplémentaires non rémunérées. Le décompte des vacances aurait en effet été établi sur la base d'un droit aux vacances de 170 heures par an, à savoir quatre semaines (170 / 42.5 = 4), alors que le recourant aurait en réalité droit à cinq semaines de vacances par an, à savoir 212.5 heures (5 x 42.5 = 212.5).
5.2. En l'occurrence, à l'appui de ce grief, le recourant se contente de renvoyer aux documents du dossier sans autres précisions, comme il le ferait devant un tribunal de première instance. Il n'explique toutefois nullement en quoi les juges cantonaux, qui connaissaient l'existence de cette semaine de vacances supplémentaires puisqu'ils en ont fait état au consid. 6.2 p. 20 de leur arrêt, auraient omis de la prendre en compte dans les décomptes de vacances et auraient ainsi constaté les faits de manière manifestement inexacte. On rappellera qu'il n'appartient pas au Tribunal fédéral de rechercher lui-même dans les pièces versées au dossier les éléments de faits pertinents propres à fonder l'arbitraire des constatations des juges cantonaux. Insuffisamment motivé au regard des exigences requises par la jurisprudence (cf. consid. 2.2 supra), le moyen doit ainsi être écarté.
6.
6.1. Dans un second grief, le recourant critique le refus du Tribunal cantonal de l'indemniser pour ses heures supplémentaires. La clause de renonciation aux heures supplémentaires contenue dans le contrat violerait le principe de la proportionnalité applicable aux rapports de travail de droit public. Son salaire de 10'000 fr., versé treize fois par an, et la semaine de vacances supplémentaire (soit 42.5 heures) octroyée en compensation d'éventuelles heures supplémentaires seraient insuffisants au regard des heures supplémentaires accomplies. Le recourant considère ensuite, en se référant à un avis doctrinal en lien avec l'<ref-law> (JEAN-PHILIPPE DUNAND, in Commentaire du contrat de travail, 2013, n. 44 ad <ref-law>), que la clause de renonciation aux heures supplémentaires aurait dû mentionner que celles-ci faisaient l'objet d'une rémunération forfaitaire pour être valable. Finalement, la clause d'exclusion contenue dans le contrat serait insolite, car le recourant ne pouvait s'attendre à devoir effectuer autant d'heures supplémentaires; par analogie avec ce qui prévaut pour les conditions générales, elle ne pourrait pas être opposée au recourant. A titre de comparaison, le recourant se réfère à la durée de la semaine de travail prévue par la LTr ainsi qu'à la réglementation sur les heures supplémentaires de la loi sur le personnel de l'Etat de Vaud du 12 novembre 2001 (LPers-VD; BLV 172.320.1).
6.2. Le principe de la proportionnalité (art. 5 al. 2 et 36 Cst.), dont la violation peut être invoquée de manière indépendante dans un recours en matière de droit public (cf. <ref-law>; <ref-ruling> consid. 5.3.2 p. 7; <ref-ruling> consid. 6.3.1 p. 267 et les références citées), commande que la mesure étatique soit nécessaire et apte à atteindre le but prévu et qu'elle soit raisonnable pour la personne concernée (<ref-ruling> précité et <ref-ruling> précité consid. 6.3.1 p. 267 s. et les arrêts cités). Lorsque la partie recourante s'en prévaut en relation avec le droit cantonal ou communal et indépendamment de toute atteinte à un droit fondamental, le Tribunal fédéral ne revoit pas le respect du principe de la proportionnalité librement, mais seulement sous l'angle de l'arbitraire (cf. <ref-ruling> consid. 5.3.2 précité et les références citées). L'atteinte au principe de la proportionnalité soulevée ici se confond donc avec le grief d'arbitraire.
6.3. En l'espèce et comme indiqué, les juges cantonaux ont qualifié la rémunération du recourant (10'000 fr. x 13) de suffisamment importante pour inclure une rémunération forfaitaire des heures supplémentaires. Cette conclusion reposait notamment sur l'existence d'une semaine de vacances supplémentaire octroyée au recourant, son horaire de travail flexible, son cahier des charges et le fait qu'une partie des heures supplémentaires qu'il invoquait concernait des séances auxquelles sa présence n'était pas requise par l'employeur. Ce raisonnement, motivé et cohérent, résiste à l'examen de l'arbitraire. Le grief est donc mal fondé.
6.4. Pour le reste, les règles issues du droit des contrats auxquelles se réfère le recourant ne pourraient s'appliquer qu'à titre de droit communal supplétif (cf. <ref-ruling> consid. 2.4 p. 236). Leur application ne pourrait ainsi être remise en question que sous l'angle de l'arbitraire ou pour violation d'autres droits constitutionnels; dans ces circonstances, la cognition du Tribunal fédéral est limitée aux griefs qui répondent aux exigences de l'<ref-law> (arrêts 8C_336/2019 du 9 juillet 2020 consid. 2.2; 2C_957/2015 du 25 mai 2016 consid. 4.2). Or le recourant n'invoque pas la violation de droit constitutionnels, de sorte que ses critiques ne sont pas recevables.
7.
Il s'ensuit que le recours doit être rejeté.
Le recourant, qui succombe, supportera les frais judiciaires (<ref-law>. L'intimée n'a pas droit à des dépens (art. 68 al. 1 et 3 LTF; cf. arrêt 8C_151/2020 du 31 août 2010 consid. 6.2).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties, à la Cour d'appel civile du Tribunal cantonal vaudois et au Tribunal de prud'hommes de l'arrondissement de la Côte.
Lucerne, le 9 avril 2021
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : von Zwehl